怎样使用爬虫简单获取猫眼电影专业版的数据 您所在的位置:网站首页 猫眼电影专业版发布 怎样使用爬虫简单获取猫眼电影专业版的数据

怎样使用爬虫简单获取猫眼电影专业版的数据

2024-07-05 07:50| 来源: 网络整理| 查看: 265

我决定使用requests和BeautifulSoup两个库的功能从猫眼专业版(具体网址:影片总票房排行榜 (maoyan.com))上面获取数据。

目录

1.安装requests和BeautifulSoup

在pycharm的具体安装方法如下:

BeautifulSoup也是通过这个方法安装的:

2.关于User-Agent

3.编写代码

1.安装requests和BeautifulSoup tips:requests和BeautifulSoup是Python的扩展库,是需要提前安装的。 在pycharm的具体安装方法如下:

BeautifulSoup也是通过这个方法安装的:

2.关于User-Agent

在很多的网站都会设置反爬虫的功能,一般情况下我们编写的程序发出的请求会被网址拒绝,但浏览器就不会啦。所以我们要将我们编写的程序伪装成浏览器,让网站同意我们的请求。这个时候就要在我们的程序中设置一个User-Agent,将程序发出的请求伪装成浏览器的。

以下是获取User-Agent的方法:

3.编写代码

本人是参考B站的老师讲授的代码【Python爬虫案例】批量爬取电影票房+数据分析可视化_哔哩哔哩_bilibili

import requests from bs4 import BeautifulSoup headers = { "User-Agent" :"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.42" } #将程序发出的请求伪装成浏览器 text = requests.get("https://piaofang.maoyan.com/rankings/year",headers=headers).text #通过requests请求到电影票房的网页 main_page = BeautifulSoup(text,"html.parser")#后面这个是html的解析器 #使用BeautifulSoup对text进行解析 div = main_page.find("div",attrs={"id": "ranks-list"}) #找到名为div且id为ranks-list的所有标签 f = open("MovieData.csv", mode="a") #创建一个名为MovieData.csv的文件,放在变量f中,且可以在其后面直接追加文字 uls = div.find_all('ul') #找到div元素中所有名为ul的元素,并存储在uls变量中 for ul in uls : #对uls中的元素进行遍历 lst1 = ul.find_all("li", attrs={"class": "col1"})#找到ul中所有类名为col1的Li元素,并储存在lst1 lst2 = ul.find_all("li", attrs={"class": "col2"})#找到ul中所有类名为col2的Li元素,并储存在lst2 lst3 = ul.find_all("li", attrs={"class": "col3"})#找到ul中所有类名为col3的Li元素,并储存在lst3 lst4 = ul.find_all("li", attrs={"class": "col4"})#找到ul中所有类名为col4的Li元素,并储存在lst4 for li in lst1 : #对lst1中的元素进行遍历 ps = li.find_all("p") #找到ps中所有p元素,并储存在ps for p in ps : #对ps中的元素进行遍历 f.write(p.text.strip()) #将p标签中的文本去除分隔符后写进f中的文件 f.write(",") #在f文件后面追加, for li in lst2: #对lst2中的元素进行遍历 f.write(li.text.strip()) #将li标签中的文本去除分隔符后写进f中的文件 f.write(",") #在f文件后面追加, for li in lst3: #对lst3中的元素进行遍历 f.write(li.text.strip()) #将li标签中的文本去除分隔符后写进f中的文件 f.write(",") #在f文件后面追加, for li in lst4: #对lst4中的元素进行遍历 f.write(li.text.strip()) #将li标签中的文本去除分隔符后写进f中的文件 f.write(",") #在f文件后面追加, f.write("\n") #在f文件后面追加换行符

该文章仅作为本人的学习记录,如有错误,请各位大佬指出。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有