Python爬虫【五】动态网页爬虫1-API

Python爬虫【五】动态网页爬虫1-API

  • 1、Network面板
  • 2、XHR
  • 3、referer字段
  • 4、URL参数
  • 5、JSON
  • 6、爬取网页的基本步骤

1、Network面板

Network记录的是从打开浏览器的开发者工具到网页加载完毕之间的所有请求。

Network面板常用功能:

(1)清空按钮Clear:用于清空请求列表。

(2)保留记录Preserve Log:勾选后会保留请求记录,常用于发生页面跳转时保留前一个页面的所有请求记录。

(3)请求类型过滤器:ALL表示查看全部,点击其他的只会展示对应类型的请求。爬虫中常用的有ALL、XHR、Img、Media。

名称 含义
All 全部类型
XHR XMLHttpRequest类型
JS JavaScript类型
CSS CSS类型
Img 图片类型
Media 音视频类型
Doc 文档类型

(4)常用信息:展示了一些常用的请求信息,比如请求的名称、状态码、类型、数据大小和耗时等。

名称 含义
name 请求名称
status 状态码
type 请求的类型
size 响应数据的大小
time 请求的耗时

2、XHR

XHR全称XMLHttpRequest,是浏览器内置的对象。浏览器想要在不刷新网页前提下加载、更新局部内容时,必须通过XHR向存放数据的服务器发送请求。

XHR中数据的技巧

(1)通过请求的名称和数据大小来缩小查找范围,一般请求的名称会和数据内容相关,并且数据大小会比其他请求要大一些;
(2)当我们要找的数据有分页时,我们可以先将请求记录清空,再点击下一页,这样就只会出现评论数据的请求了。

3、referer字段

在请求头中加入referer字段,表示请求是由合法的页面发出的。

4、URL参数

为了让 API 地址看起来简洁明了,我们将地址的查询字符串参数以字典的形式传递给了 params 参数:
Python爬虫【五】动态网页爬虫1-API_第1张图片

5、JSON

JSON(JavaScript Object Notation)是一种轻量级的数据交互格式。

JSON建构于两种结构:键值对的集合值的有序列表,分别对应Python里的字典和列表。JSON是在编程语言之间通用的数据格式,是一种标准,规定了基本数据结构的写法,不同编程语言拿到后解析成自己对应的数据结构即可。

Python字符串使用单引号或双引号没有区别,但JSON中,字符串必须使用英文的双引号来包裹。

JSON转换成Python中的字典和列表,只需调用json()方法即可:
Python爬虫【五】动态网页爬虫1-API_第2张图片

6、爬取网页的基本步骤

Python爬虫【五】动态网页爬虫1-API_第3张图片

首先,打开准备爬取的网页,然后查看该网页的源代码,检查需要的数据是否在网页源代码中。

如果的话,说明该网站是一次性将所有数据加载出来的,就可以通过 BeautifulSoup 解析、提取对应的数据。

如果不在的话,说明该网站的数据是通过 API 加载的,则需要在 Network 中的 XHR 里查找数据;可以通过 一个一个查找根据名称和大小查找清空请求列表并获取新的请求查找 这三种方法找到数据。

你可能感兴趣的:(【Python】,爬虫,python,爬虫)