当前位置: 首页 > 科技观察

使用Python网络爬虫查看电影院目前有哪些电影上映

时间:2023-03-18 00:02:05 科技观察

1前言猫眼电影是淘宝联合打造电影分类最全的电影平台。当最新电影上线时,它可以第一时间通知用户。今天教大家如何获取猫眼电影即将上映的影片详情。2项目目标获取猫眼电影即将上映的电影详情。3项目准备软件:PyCharm所需库:requests、lxml、random、time插件:Xpath网址如下:https://maoyan.com/films?showType=2&offset={}点击下一页按钮观察网站变化如下:https://maoyan.com/films?showType=2&offset=30https://maoyan.com/films?showType=2&offset=60https://maoyan.com/films?showType=2&offset=90点击下一页,offset=()每增加一个页面就增加30,所以可以用{}替换转换后的变量,然后用for循环遍历URL实现多URL请求。4项目实现1.定义一个class类继承object,定义init方法继承self,main函数main继承self。导入需要的库和url,代码如下。importrequestsfromlxmlimportetreeimporttimeimportrandomclassMaoyanSpider(object):def__init__(self):self.url="https://maoyan.com/films?showType=2&offset={}"defmain(self):passif__name__=='__main__':spider=MaoyanSpider()spider.main()2.随机生成UserAgent。foriinrange(1,50):#ua.random,必须写在这里,每次请求都会随机选择。self.headers={'User-Agent':ua.random,}3.发送请求并获得页面响应。defget_page(self,url):#random.choice这里一定要写,每次请求都会随机选择res=requests.get(url,headers=self.headers)res.encoding='utf-8'html=res.textself.parse_page(html)4.XPath解析一级页面数据,获取页面信息。1)基准xpath节点对象列表。#创建解析对象parse_html=etree.HTML(html)#基本xpath节点对象列表dd_list=parse_html.xpath('//dl[@class="movie-list"]//dd')2)依次遍历对于每个节点对象,提取数据。forddindd_list:name=dd.xpath('.//div[@class="movie-hover-title"]//span[@class="namenoscore"]/text()')[0].strip()星=dd.xpath('.//div[@class="movie-hover-info"]//div[@class="movie-hover-title"][3]/text()')[1]。strip()type=dd.xpath('.//div[@class="movie-hover-info"]//div[@class="movie-hover-title"][2]/text()')[1].strip()dowld=dd.xpath('.//div[@class="movie-item-hover"]/a/@href')[0].strip()#print(movie_dict)movie='''[即将推出]5.定义电影并保存打印数据。movie='''[即将上映]电影名称:%s主演:%s类型:%s详情链接:https://maoyan.com%s================================================================'''%(name,star,type,dowld)print(movie)6、random.randint()方法,设置延时时间。time.sleep(random.randint(1,3))7.调用方法实现功能。html=self.get_page(url)self.parse_page(html)5效果展示1、点击绿色小三角运行,进入起始页和结束页。2.运行程序后,控制台显示结果,如下图所示。3.点击蓝色下载链接在线查看详情。6小结1、不建议抓取太多数据,容易造成服务器负载,稍微尝试一下。2、本文基于Python网络爬虫,使用爬虫库爬取猫眼电影。3、欢迎大家积极尝试。有时候看别人实现很简单,但是到了自己实现的时候,总会出现各种各样的问题。不要野心太大,努力理解得更深刻。4.猫眼电影代码链接:https://github.com/cassieeric/python_crawler/tree/master/MaoyanMovie,我觉得不错,记得给个star。