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 相关文章推荐
PHP魔术方法__ISSET、__UNSET使用实例
Nov 25 Python
Python的Django框架安装全攻略
Jul 15 Python
详解如何用OpenCV + Python 实现人脸识别
Oct 20 Python
python 创建一个空dataframe 然后添加行数据的实例
Jun 07 Python
Python实现的在特定目录下导入模块功能分析
Feb 11 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
Apr 04 Python
python对常见数据类型的遍历解析
Aug 27 Python
python实现人工智能Ai抠图功能
Sep 05 Python
python 并发下载器实现方法示例
Nov 22 Python
使用python实现哈希表、字典、集合操作
Dec 22 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
Jan 19 Python
python新式类和经典类的区别实例分析
Mar 23 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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
php下网站防IP攻击代码,超级实用
2010/10/24 PHP
PHP排序之二维数组的按照字母排序实现代码
2011/08/13 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
2013/08/07 PHP
php浏览历史记录的方法
2015/03/10 PHP
php 防止表单重复提交两种实现方法
2016/11/03 PHP
PHP实现的自定义数组排序函数与排序类示例
2016/11/18 PHP
PHP whois查询类定义与用法示例
2019/04/03 PHP
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
jQuery 图片切换插件(代码比较少)
2012/05/07 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
2016/06/21 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
2017/04/17 jQuery
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
JavaScript模板引擎应用场景及实现原理详解
2018/12/14 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队Mineski晋级之路
2018/04/07 DOTA
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
python使用super()出现错误解决办法
2017/08/14 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
2017/12/14 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
opencv3/C++实现视频背景去除建模(BSM)
2019/12/11 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
2020/04/11 Python
HTML table 表格边框的实现思路
2019/10/12 HTML / CSS
环境日宣传活动总结
2014/07/09 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
工作证明格式及范本
2014/09/12 职场文书
毕业证代领委托书
2014/09/26 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
个性发展自我评价2015
2015/03/09 职场文书
公诉意见书范文
2015/06/05 职场文书
班主任经验交流心得体会
2015/11/02 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书