爬虫解析:python如何判断requests库请求返回的是json还是html还是其他? - 指南
更多内容请见: 《爬虫和逆向教程》 - 专栏介绍和目录
文章目录
- 一、检查 `Content-Type` 响应头(最推荐)
- 1.1 核心步骤
- 1.2 验证代码
- 1.3 输出结果
- 二、利用 `requests` 的内置方法
- 2.1 方法对比
- 2.2 验证代码(尝试法):
- 三、封装成实用函数
- 3.1 自动处理内容类型方法封装
- 3.2 解析html并捕获异常
一、检查 Content-Type 响应头(最推荐)
要判断 requests 库返回的内容类型,最可靠、最标准的方法是检查 HTTP 响应头中的 Content-Type字段。服务器会在响应头中明确告知客户端返回的数据是什么类型。
1.1 核心步骤
- 发送请求后,通过
response.headers获取响应头字典。 - 访问
response.headers.get('Content-Type', '')来获取Content-Type的值。使用.get()并提供默认值可以避免因该字段不存在而报错。 - 使用字符串的
in操作符来判断类型。
1.2 验证代码
import requests
# 示例URLs
json_url = 'https://api.github.com/ev