python 爬虫 基于requests模块发起ajax的get请求

 

 

基于requests模块发起ajax的get请求

需求:爬取豆瓣电影分类排行榜 https://movie.douban.com/中的电影详情数据 

用抓包工具捉取 使用ajax加载页面的请求

 

 

 

 

 

 

 

鼠标往下下滚轮拖动页面,会加载更多的电影信息,这个局部刷新是当前页面发起的ajax请求,

用抓包工具捉取页面刷新的ajax的get请求,捉取滚轮在最底部时候发起的请求

 

这个get请求是本次发起的请求的url

 

 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 芙蓉镇
22 沉静如海
23 淘金记
24 马戏团
25 情迷意乱
26 士兵之歌
27 战争与和平
28 怦然心动
29 大话西游之月光宝盒
30 罗马假日
31 音乐之声
32 一一
33 雨中曲
34 我爱你
35 莫娣
36 卡比利亚之夜
37 婚姻生活
38 本杰明·巴顿奇事
39 情书
40 春光乍泄
'''

 从21个电影开始获取信息,总共获取20个电影详情信息

转载于:https://www.cnblogs.com/mingerlcm/p/11378848.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值