requests模块的常用方法,request模板
请求模块实战04-爬豆瓣电影列表:爬豆瓣指定的电影类型列表
本案主要参考豆瓣网站推荐的电影,通过python抓取指定类型电影列表上的电影信息。
需求分析:通过对网页的分析,当我们滚动页面时,对应的电影信息会根据评分不断刷新。类似于之前的百度翻译,我们会发现有一个局部刷新的概念,就是ajax的应用。
获取爬豆瓣电影ajax的排名信息请求局部刷新。
通过开发者模式可以发现,每次滚动刷新获取电影信息时,都会启动一个ajax请求包,这个请求包可以通过特定的参数获取。而且信息也是以json的形式传输的。
代码实现:# -*-编码:utf-8
# @时间:2020/12/13 22:37
# @作者:ZYX
# @File:请求实战豆瓣电影分类列表. py
# @软件:PyCharm
导入请求
导入json
if __name__==__main__ :
# UA迷彩
标题={
用户代理: Mozilla/5.0(Windows NT 10.0;WOW64) AppleWebKit/537.36 (KHTML,像壁虎一样)Chrome/70 . 0 . 3538 . 25 Safari/537.36 Core/1 . 70 . 3776 . 400 QQ browser/10 . 6 . 4212 . 400
}
#指定url
URL= https://movie . douban . com/j/chart/top _ list?
#设置加工参数
param={
类型: 17 ,
interval_id: 100:90 ,
动作“:”,
Start: 0 ,#从数据库中获取电影的起点
Limit: 20 ,#要提取的一个请求的限制数量。
}
#发送请求
response=requests.get(url=url,params=param,headers=headers)
#获取响应数据
list_data=response.json()
#结果持久性
文件路径=。/data/douBan.json
使用open(filePath, w ,encoding=utf-8 )作为fp:
json.dump(list_data,fp=fp,确保_ascii=False)
打印( douBan.json保存成功,抓取过程已完成!)结果显示:
分析:url参数处理
对于这里的参数,我们把它们写成dead,可以通过传入参数动态指定电影类型抓取。优化代码如下:#设置加工参数
Type=input(请输入电影类型号:)
Start=input(请输入已爬网电影的开始位置:)
Limit=input(请输入已爬网电影信息的数量:)
param={
类型:类型,#电影类型
interval_id: 100:90 ,
动作“:”,
Start: start,#从数据库中获取电影的起始点
Limit: limit,#一次获取的限制数。
}
#发送请求
response=requests.get(url=url,params=param,headers=headers)
这里我们将参数设置为传入实参的形式,类型号为13(爱情),要抓取的电影号为2,信息号为2,即抓取了两条电影信息。通过分析爬取的文件,可以得出start参数的值从0开始,类似于数组索引。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。