Request模块实战04 ---- 爬取豆瓣电影排行榜(request模板)

网友投稿 356 2022-08-22


Request模块实战04 ---- 爬取豆瓣电影排行榜(request模板)

Request模块实战04 ---- 爬取豆瓣电影排行榜

需求:爬取豆瓣指定的电影类型排行榜

本案例主要通过查看豆瓣网站推荐电影,通过python爬取指定类型电影排行榜上的电影信息。

需求分析:

通过对网页的分析,当我们对页面进行滚动的时候,对应的电影信息会按照评分不断的刷新出来,类似于之前的破解百度翻译,我们会发现都有局部刷新的概念,也就是ajax的应用。

爬取豆瓣电影排行信息ajax请求局部刷新

通过开发者模式,我们可以发现确实在每次滚动刷新获取电影信息的时候,都会发动一个ajax请求包,配上特定的参数,即可获取。并且同时信息也是以json的形式传输。

代码实现:

# -*- coding: utf-8# @Time : 2020/12/13 22:37# @Author : ZYX# @File : request实战之豆瓣电影分类排行榜.py# @software: PyCharmimport requestsimport jsonif __name__ == '__main__': # UA伪装 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3776.400 QQBrowser/10.6.4212.400' } # 指定url url = ' # 设定处理参数 param = { 'type': '17', 'interval_id': '100:90', 'action': '', 'start': '0', # 从数据库中取电影的起点 'limit': '20', # 一次请求取出的限制数 } # 发送请求 response = requests.get(url=url,params=param,headers=headers) # 获取响应数据 list_data = response.json() # 结果持久化 filePath = "./data/douBan.json" with open(filePath,'w',encoding="utf-8") as fp: json.dump(list_data,fp=fp,ensure_ascii=False) print("douBan.json保存成功,爬取过程已完成!!!")

结果展示:

分析:

# 设定处理参数 type = input("请输入电影类型号:") start = input("请输入爬取的电影开始:") limit = input("请输入爬取的电影信息数量:") param = { 'type': type, # 电影类型 'interval_id': '100:90', 'action': '', 'start': start, # 从数据库中取电影的起点 'limit': limit, # 一次请求取出的限制数 } # 发送请求 response = requests.get(url=url,params=param,headers=headers)

在这里我们设置参数为传入实参的形式,类型号13(爱情),开始爬取的电影编号为2,信息数目为2,也就是爬取两条电影信息。通过对爬取后的文件分析可以得出start参数的值是从0开始的,类似数组下标(索引)。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python----数据分析-使用scikit-learn构建模型(python scikit)
下一篇:maven项目test执行main找不到资源文件的问题及解决
相关文章

 发表评论

暂时没有评论,来抢沙发吧~