python爬虫 基于requests模块发起ajax的get请求实现解析
基于requests模块发起ajax的get请求
需求:爬取豆瓣电影分类排行榜 https://movie.douban.com/中的电影详情数据
用抓包工具捉取 使用ajax加载页面的请求
鼠标往下下滚轮拖动页面,会加载更多的电影信息,这个局部刷新是当前页面发起的ajax请求,
用抓包工具捉取页面刷新的ajax的get请求,捉取滚轮在最底部时候发起的请求
这个get请求是本次发起的请求的url
ajax的get请求携带参数
获取响应内容不再是页面数据,是json字符串,是通过异步请求获取的电影详情信息
start和limit参数 需要注意,改变这两个参数获取的电影详情不一样
import requests import json # 指定ajax-get请求的url(通过抓包进行获取) url = 'https://movie.douban.com/j/chart/top_list?' # 封装ajax的get请求携带的参数(从抓包工具中获取) 封装到字典 param = { 'type': '13', 'interval_id': '100:90', 'action': '', 'start': '20', # 从第20个电影开始获取详情 'limit': '20', # 获取多少个电影详情 # 改变这两个参数获取的电影详情不一样 } # 定制请求头信息,相关的头信息必须封装在字典结构中 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36', } # 发起ajax的get请求还是用get方法 response = requests.get(url=url,params=param,headers=headers) # 获取响应内容:响应内容为json字符串 data = response.text data = json.loads(data) for data_dict in data: print(data_dict["rank"],data_dict["title"]) ''' 芙蓉镇 沉静如海 淘金记 马戏团 情迷意乱 士兵之歌 战争与和平 怦然心动 大话西游之月光宝盒 罗马假日 音乐之声 一一 雨中曲 我爱你 莫娣 卡比利亚之夜 婚姻生活 本杰明·巴顿奇事 情书 春光乍泄 '''
从21个电影开始获取信息,总共获取20个电影详情信息
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
django xadmin action兼容自定义model权限教程
这篇文章主要介绍了django xadmin action兼容自定义model权限教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-03-03Python并发编程协程(Coroutine)之Gevent详解
这篇文章主要介绍了Python并发编程协程(Coroutine)之Gevent详解,具有一定借鉴价值,需要的朋友可以参考下2017-12-12Python办公自动化之JSOM数据处理与SQL Server数据库操作
这篇文章主要为大家详细介绍了Python办公自动化中JSOM数据处理与SQL Server数据库操作的相关知识,文中的示例代码简洁易懂,有需要的小伙伴可以参考下2024-01-01Python中super().__init__()测试以及理解
__init__()一般用来创建对象的实例变量,或一次性操作,super()用于调用父类的方法,可用来解决多重继承问题,下面这篇文章主要给大家介绍了关于Python中super().__init__()测试及理解的相关资料,需要的朋友可以参考下2021-12-12
最新评论