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中函数总结之装饰器闭包详解
Jun 12 Python
python中redis的安装和使用
Dec 04 Python
Python学习之用pygal画世界地图实例
Dec 07 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
Dec 28 Python
python得到qq句柄,并显示在前台的方法
Oct 14 Python
python分数表示方式和写法
Jun 26 Python
Python中pymysql 模块的使用详解
Aug 12 Python
关于PyTorch 自动求导机制详解
Aug 18 Python
pyinstaller还原python代码过程图解
Jan 08 Python
python获取系统内存占用信息的实例方法
Jul 17 Python
使用Python绘制台风轨迹图的示例代码
Sep 21 Python
python基于机器学习预测股票交易信号
May 25 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去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
2015/06/29 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2017/04/27 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
javascript生成随机颜色示例代码
2014/05/05 Javascript
JavaScript中的方法调用详细介绍
2014/12/30 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
jQuery+AJAX实现无刷新下拉加载更多
2015/07/03 Javascript
Node.js静态文件服务器改进版
2016/01/10 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
折叠菜单及选择器的运用
2017/02/03 Javascript
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
2019/05/21 Javascript
js实现GIF动图分解成多帧图片上传
2019/10/24 Javascript
WebPack工具运行原理及入门教程
2020/12/02 Javascript
[00:18]天涯墨客三技能展示
2018/08/25 DOTA
Python实现的数据结构与算法之链表详解
2015/04/22 Python
浅析python参数的知识点
2018/12/10 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
Django中间件基础用法详解
2019/07/18 Python
Python logging日志库空间不足问题解决
2020/09/14 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
2020/10/31 Python
PHP笔试题
2012/02/22 面试题
好的自荐信包括什么内容
2013/11/07 职场文书
会计专业毕业生求职信分享
2014/01/03 职场文书
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
护士找工作求职信
2014/07/02 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
幼儿园辞职书
2015/02/26 职场文书
出纳2015年度工作总结范文
2015/10/14 职场文书
Django drf请求模块源码解析
2021/06/08 Python