当前位置: 首页 > 后端技术 > Python

理解爬虫:如何使用requests模块根据电影类型爬取豆瓣电影的前20名信息和评分

时间:2023-03-26 14:42:18 Python

1.导入扩展模块1#-*-编码:UTF-8-*-2#导入网络请求模块requests3importrequests4#导入random模块生成随机数5importrandom2,定义爬虫地址,伪装头信息1#定义requestedurl接口(需要请求的接口),假设接口为https://movie.douban.com/j/new_search_subjects2url='https://movie.douban.com/j/new_search_subjects'34#getting要知道user-agent,提前准备user-agent进行header信息伪装/87.0.4280.88'7'Safari/537.36',8'Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.0)',9'Mozilla/50.(Windows;U;WindowsNT6.1;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1'10'Safari/534.50'11]1213#定义请求头信息(字典类型)14headers={15#User-Agent信息用于伪装成用户访问,random.randint(0,2)随机取出一个16位定义的'User-Agent'数组中:user_agent[random.randint(0,2)]17}3.封装请求参数1#设置请求参数,根据测试范围必须赋值才能取到数据2params={3'排序':'',4'范围':'0,20',5'标签':'',6'start':'0',7'genres':'Love',8}4.执行请求并处理返回结果1#执行GET请求2response=requests.get(url=url,headers=headers,params=params)34#打印响应信息,并以json数据形式返回5printresponse.content67#使用response.json()函数序列化输出8data_json=response.json()9printdata_json1011#Extractdata_json中的具体数据12data_json_array=data_json['data']13printdata_json_array1415#遍历获取电影名称和评分信息16fordata_lineindata_json_array:17print'电影名称:',data_line['title'],'->score:',data_line['rate']前往微信公众号【Python集中营】了解更多精彩,聚焦python技术栈、数据获取、交流社区、干货分享,期待你的加入~