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