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

作者:minger_lcm 时间:2022-01-02 05:04:04 

基于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个电影详情信息

来源:https://www.cnblogs.com/mingerlcm/p/11378848.html

标签:python,爬虫,requests,ajax,get,请求
0
投稿

猜你喜欢

  • 如何用ASP获知机器的网络配置?

    2010-06-11 19:58:00
  • Python爬虫之爬取我爱我家二手房数据

    2023-08-11 01:35:06
  • 有时应该告诉我,但有时不应该告诉我

    2009-03-19 13:40:00
  • ASP真正随机不重复查询代码

    2010-01-02 20:40:00
  • CSS Hack 汇总快查

    2007-11-06 11:48:00
  • Oracle 游标使用总结

    2009-10-02 17:36:00
  • Mootools 1.2教程(16)——排序类和方法简介

    2008-12-10 14:18:00
  • 完美解决phpdoc导出文档中@package的warning及Error的错误

    2023-10-07 10:07:49
  • 30个出色的分页设计

    2009-05-12 17:49:00
  • 数字人整合动网论坛的方法

    2009-05-29 18:23:00
  • IE7的web标准之道 Ⅰ

    2008-08-13 12:42:00
  • 解决IIS出现Active Server Pages错误“ASP 0201”

    2009-05-25 18:04:00
  • Selenium+BeautifulSoup+json获取Script标签内的json数据

    2023-06-17 09:30:18
  • Python+unittest+requests+excel实现接口自动化测试框架

    2021-09-08 07:04:49
  • Mozilla专有JavaScript扩展之一(__noSuchMethod__)

    2009-03-01 12:45:00
  • 用python实现一个简单计算器(完整DEMO)

    2023-11-10 11:03:48
  • 为什么要进行CSS缩写?

    2007-10-29 12:56:00
  • Python中torch.norm()用法解析

    2021-12-01 09:42:43
  • jQuery选择器 学习总结

    2008-06-15 15:41:00
  • asp如何防止计数器刷新计数?

    2009-11-22 19:19:00
  • asp之家 网络编程 m.aspxhome.com