文档章节

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

o
 osc_g8254g7s
发布于 2019/08/19 23:28
字数 534
阅读 12
收藏 0

精选30+云产品,助力企业轻松上云!>>>

 

 

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

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
python爬虫学习笔记-网络爬虫的三种数据解析方式

爬虫的分类 1.通用爬虫:通用爬虫是搜索引擎(Baidu、Google、Yahoo等)“抓取系统”的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。 简单来讲就是尽...

osc_tw1uh2ye
2019/04/28
4
0
04,Python网络爬虫之requests模块(1)

引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁...

osc_pqzfxki9
2019/02/26
3
0
Python网络爬虫之requests模块(1)

引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁...

osc_65e48kpp
2019/03/11
2
0
Python爬虫之requests模块(1)

一.引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、...

osc_42ssirsd
2019/03/11
2
0
04.Python网络爬虫之requests模块(1)

引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁...

osc_rszue8l4
2018/12/10
2
0

没有更多内容

加载失败,请刷新页面

加载更多

linux下java环境搭建

1、jdk下载: 官方地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 如下图所示,我这边选择的是红框中的版本 2、压缩包上传至服务器 将下载的压缩包上传...

wc_飞豆
30分钟前
17
0
面试题:Java对象不再使用时,为什么要赋值为null?

前言 许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回...

码农突围
32分钟前
22
0
设计模式(5) 原型模式

原型模式 原型模式的适用场景 浅拷贝 深拷贝 用Initialize方法修改初始化状态 原型模式与之前学习的各种工厂方法、单例模式、建造者模式最大、最直观的区别在于,它是从一个既有的对象“克隆...

zhixin9001
33分钟前
7
0
获取免费的pycharm激活码网站

http://www.lookdiv.com/

云烟成雨forever
33分钟前
27
0
用Helm部署Kubernetes应用,支持多环境部署与版本回滚

1 前言 Helm是优秀的基于Kubernetes的包管理器。利用Helm,可以快速安装常用的Kubernetes应用,可以针对同一个应用快速部署多套环境,还可以实现运维人员与开发人员的职责分离。现在让我们安...

南瓜慢说
34分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部