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中暂存上传图片的方法
Feb 18 Python
Python实现Windows上气泡提醒效果的方法
Jun 03 Python
Python图像灰度变换及图像数组操作
Jan 27 Python
python3个性签名设计实现代码
Jun 19 Python
Python3中列表list合并的四种方法
Apr 19 Python
python函数的作用域及关键字详解
Aug 20 Python
python控制台实现tab补全和清屏的例子
Aug 20 Python
浅析使用Python搭建http服务器
Oct 27 Python
wxPython实现绘图小例子
Nov 19 Python
使用 Python 处理3万多条数据只要几秒钟
Jan 19 Python
python利用Excel读取和存储测试数据完成接口自动化教程
Apr 30 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
May 16 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
天使彦史上最神还原,性别曝光的那一刻,百万网友恋爱了
2020/03/02 国漫
用PHP实现图象锐化代码
2007/06/14 PHP
解析CodeIgniter自定义配置文件
2013/06/18 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
PHP中数组的分组排序实例
2014/06/01 PHP
个人写的PHP验证码生成类分享
2014/08/21 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
jQuery EasyUI API 中文文档 - Dialog对话框
2011/11/15 Javascript
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
当jQuery1.7遇上focus方法的问题
2014/01/26 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
2016/04/15 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
2017/05/02 Javascript
基于JavaScript实现微信抢红包功能
2017/07/20 Javascript
对于js垃圾回收机制的理解
2017/09/14 Javascript
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
[01:51]历届DOTA2国际邀请赛举办地回顾 TI9落地上海
2018/08/26 DOTA
Python面向对象编程基础解析(一)
2017/10/26 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
pyqt5、qtdesigner安装和环境设置教程
2019/09/25 Python
opencv python如何实现图像二值化
2020/02/03 Python
Python内置方法和属性应用:反射和单例(推荐)
2020/06/19 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
python 获取字典键值对的实现
2020/11/12 Python
python基于socket模拟实现ssh远程执行命令
2020/12/05 Python
Python中过滤字符串列表的方法
2020/12/22 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
斯凯奇澳大利亚官网:SKECHERS澳大利亚
2018/03/31 全球购物
团员的自我评价
2013/12/01 职场文书
护理专业学生的求职信范文
2013/12/11 职场文书
仓库管理计划书
2014/05/04 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书