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连接mysql数据库示例(做增删改操作)
Dec 31 Python
Python中的urllib模块使用详解
Jul 07 Python
python用reduce和map把字符串转为数字的方法
Dec 19 Python
rabbitmq(中间消息代理)在python中的使用详解
Dec 14 Python
浅谈Django自定义模板标签template_tags的用处
Dec 20 Python
python实现外卖信息管理系统
Jan 11 Python
python爬虫之urllib3的使用示例
Jul 09 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
Mar 23 Python
Django分组聚合查询实例分享
Apr 29 Python
如何使用 Python 读取文件和照片的创建日期
Sep 05 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
Sep 28 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
Feb 22 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可变函数的经典用法
2013/06/20 PHP
PHP写日志的实现方法
2014/11/05 PHP
phpstudy隐藏index.php的方法
2020/09/21 PHP
Javascript技术技巧大全(五)
2007/01/22 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
2014/11/02 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
jquery手风琴特效插件
2015/02/04 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
2016/05/18 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
微信小程序开发之map地图实现教程
2017/06/08 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
关于vue-router的那些事儿
2018/05/23 Javascript
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
2019/01/23 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
Vue仿微信app页面跳转动画效果
2019/08/21 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
Python处理文本文件中控制字符的方法
2017/02/07 Python
Pytorch上下采样函数--interpolate用法
2020/07/07 Python
你的自行车健身专家:FaFit24
2016/11/16 全球购物
竞选学习委员演讲稿
2014/04/28 职场文书
经济国贸专业求职信
2014/06/18 职场文书
家长会欢迎标语
2014/06/24 职场文书
单位授权委托书范文
2014/08/02 职场文书
对照检查剖析材料
2014/09/30 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
2014年个人售房协议书
2014/10/30 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书
z-index不起作用
2021/03/31 HTML / CSS
Win11怎么进入安全模式?Windows 11进入安全模式的方法
2021/11/21 数码科技
分享3个非常实用的 Python 模块
2022/03/03 Python
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android