Python 是一门功能强大的编程语言,requests库让处理网络请求变得简单高效。在本教程中,我们将向你展示如何使用 Python requests 库发起 GET 请求,并解析响应数据。

什么是 GET 请求

GET请求是 HTTP 请求方法之一,主要用于从服务器获取数据。在 Python 中,requests库可以轻松处理这种请求。

发起一个简单的 GET 请求

以下是使用requests发起GET请求的基本示例:

import requests

response = requests.get('https://www.google.com')
print(response.status_code)
print(response.text)

解析响应数据

GET 请求的响应可以以多种方式解析,例如获取状态码、响应头或响应内容。以下是一些常用方法:

获取状态码

返回服务器响应的HTTP状态码:

print(response.status_code)

获取响应头

返回服务器响应中的 HTTP 头部信息:

print(response.headers)
print(response.headers['Content-Encoding'])

获取响应内容

返回服务器响应的原始二进制数据:

print(response.content)

response.text不同,response.content不会自动对内容进行解码,而是以原始的字节形式提供,如果需要将内容保存为文件(如图片或 PDF 文件),可以直接将response.content写入文件。

获取JSON格式的数据

用于将服务器返回的响应内容直接解析为 JSON 对象;这个方法适用于服务器返回 JSON 格式数据的情况,它可以帮助你轻松解析和处理 JSON 数据。

json_data = response.json()

# 打印解析后的 JSON 数据
print(json_data)

# 访问具体字段
name = json_data['name']

构建 URL 参数

手动构建 URL 参数

你可以直接将参数拼接到 URL 中;例如,如果你需要向谷歌搜索请求中添加查询参数:

import requests

response = requests.get('https://www.google.com/search?q=完美代码')
print(response.url)

使用 params 关键字参数

requests提供了params参数,可以让你更方便地传递 URL 参数,requests会自动帮你处理编码问题:

import requests

# 构建参数字典
params = {'q': "完美代码"}

response = requests.get('https://www.google.com/search',params=params)
print(response.url)

你可以通过打印response.url查看生成的完整 URL。requests 会自动将参数进行 URL 编码:

https://www.google.com/search?q=%E5%AE%8C%E7%BE%8E%E4%BB%A3%E7%A0%81