python爬虫 基于requests模块发起ajax的get请求实现解析


Posted in Python onAugust 20, 2019

基于requests模块发起ajax的get请求

需求:爬取豆瓣电影分类排行榜 https://movie.douban.com/中的电影详情数据

用抓包工具捉取 使用ajax加载页面的请求

python爬虫 基于requests模块发起ajax的get请求实现解析

python爬虫 基于requests模块发起ajax的get请求实现解析

鼠标往下下滚轮拖动页面,会加载更多的电影信息,这个局部刷新是当前页面发起的ajax请求,

用抓包工具捉取页面刷新的ajax的get请求,捉取滚轮在最底部时候发起的请求

这个get请求是本次发起的请求的url

python爬虫 基于requests模块发起ajax的get请求实现解析

ajax的get请求携带参数

python爬虫 基于requests模块发起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个电影详情信息

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python反转序列的方法实例分析
Mar 21 Python
Python利用公共键如何对字典列表进行排序详解
May 19 Python
python正向最大匹配分词和逆向最大匹配分词的实例
Nov 14 Python
Django框架安装方法图文详解
Nov 04 Python
python多线程高级锁condition简单用法示例
Nov 07 Python
opencv python如何实现图像二值化
Feb 03 Python
pytorch对梯度进行可视化进行梯度检查教程
Feb 04 Python
PyQt5的相对布局管理的实现
Aug 07 Python
python 如何设置守护进程
Oct 29 Python
python中K-means算法基础知识点
Jan 25 Python
pytorch实现线性回归以及多元回归
Apr 11 Python
pytorch中的numel函数用法说明
May 13 Python
pytorch 在sequential中使用view来reshape的例子
Aug 20 #Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
Aug 20 #Python
python实现证件照换底功能
Aug 20 #Python
pytorch多进程加速及代码优化方法
Aug 19 #Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
Aug 19 #Python
python opencv实现证件照换底功能
Aug 19 #Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
Aug 19 #Python
You might like
php使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
PHP实现用session来实现记录用户登陆信息
2018/10/15 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
2020/04/23 PHP
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
jquery中插件实现自动添加用户的具体代码
2013/11/15 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
2015/05/07 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
日常收集整理的JavaScript常用函数方法
2015/12/10 Javascript
分享javascript计算时间差的示例代码
2020/03/19 Javascript
有关jQuery中parent()和siblings()的小问题
2016/06/01 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
vue基于v-charts封装双向条形图的实现代码
2019/12/09 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
python中异常报错处理方法汇总
2016/11/20 Python
python算法演练_One Rule 算法(详解)
2017/05/17 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
python 负数取模运算实例
2020/06/03 Python
python在一个范围内取随机数的简单实例
2020/08/16 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
CSS3 please 跨浏览器的CSS3产生器
2010/03/14 HTML / CSS
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
英国知名的护肤彩妆与时尚配饰大型综合零售电商:Unineed
2016/11/21 全球购物
意大利宠物用品购物网站:Bauzaar
2018/09/15 全球购物
eVitamins日本:在线购买折扣维生素、补品和草药
2019/04/04 全球购物
汽车销售求职自荐信
2013/10/01 职场文书
物业管理员岗位职责范文
2013/11/25 职场文书
中学教师师德承诺书
2014/05/23 职场文书
公司市场部岗位职责
2015/04/15 职场文书
小学四年级作文之写景
2019/08/23 职场文书
新手初学Java List 接口
2021/07/07 Java/Android