在现代网站中,很多数据不是直接嵌在 HTML 中,而是通过 API 返回 JSON 格式。掌握 JSON 数据爬取,可以更高效地获取数据。
一、查看接口
- 打开浏览器 F12 → Network → XHR
- 找到返回 JSON 数据的接口 URL
- 注意请求方法(GET/POST)和请求参数
二、请求 JSON 数据
import requests
url = 'https://www.example.com/api/data'
headers = {'User-Agent':'Mozilla/5.0'}
response = requests.get(url, headers=headers)
data = response.json()
print(data)
response.json()
将 JSON 数据转为 Python 字典或列表- 可直接遍历提取字段
for item in data['items']:
print(item['title'], item['url'])
三、POST 接口提交
payload = {'page': 1, 'size': 20}
response = requests.post(url, json=payload, headers=headers)
data = response.json()
四、处理分页
接口通常分页返回数据,可循环抓取:
for page in range(1, 6):
payload = {'page': page, 'size': 20}
data = requests.get(url, params=payload, headers=headers).json()
for item in data['items']:
print(item['title'])
五、小技巧
- JSON 数据直接解析,比解析 HTML 简单
- 注意接口频率限制
- 可结合 pandas 保存数据
总结:JSON 接口爬取是现代爬虫必备技能。掌握接口分析、GET/POST 请求、分页处理,你就可以快速抓取网站结构化数据。