1. requests模块基础使用
在Python中,requests是一个用于发送HTTP请求的第三方库,可以方便地进行网络请求和访问Web页面。使用requests模块,可以轻松地发送GET请求、POST请求等,并处理返回的响应结果。
1.1 发送GET请求
使用requests发送GET请求非常简单,只需要调用get()方法,并传入一个URL即可:
import requests
url = "http://example.com"
response = requests.get(url)
上述代码中,我们首先导入requests模块,然后定义一个URL,使用get()方法发送GET请求,并将返回的响应结果赋值给response变量。
1.2 发送POST请求
与发送GET请求类似,要发送POST请求,只需使用post()方法:
import requests
url = "http://example.com"
data = {
"username": "testuser",
"password": "testpassword"
}
response = requests.post(url, data=data)
上述代码中,我们定义了一个URL和一个字典data,包含了要发送的POST请求的参数。通过将data参数传递给post()方法,可以发送POST请求,并获取响应结果。
2. requests模块高级应用
2.1 设置请求头
在发送请求时,有时需要设置请求头来模拟浏览器发送请求。可以通过在请求中添加headers参数来设置请求头:
import requests
url = "http://example.com"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36"
}
response = requests.get(url, headers=headers)
上述代码中,我们通过headers参数设置了User-Agent请求头,使得请求看起来像是使用Chrome浏览器发送的。
2.2 带有参数的GET请求
有时,需要在GET请求中附带一些查询参数。可以通过在URL中添加查询参数,或者将查询参数传递给params参数来实现:
import requests
url = "http://example.com"
params = {
"key1": "value1",
"key2": "value2"
}
response = requests.get(url, params=params)
上述代码中,我们定义了一个URL和一个字典params,将查询参数传递给params参数,发送GET请求。
2.3 处理响应结果
发送请求后,可以通过response对象获取响应结果的各种信息:
import requests
url = "http://example.com"
response = requests.get(url)
# 获取响应状态码
status_code = response.status_code
# 获取响应头
headers = response.headers
# 获取响应内容
content = response.text
# 获取原始字节数据
content_bytes = response.content
上述代码中,我们使用status_code属性获取响应状态码,headers属性获取响应头,text属性获取响应内容的字符串表示,content属性获取响应内容的原始字节数据。
2.4 异常处理
在实际使用中,可能会遇到网络错误、请求超时等异常情况。使用try...except语句可以捕获这些异常,并进行相应的处理:
import requests
url = "http://example.com"
try:
response = requests.get(url)
response.raise_for_status()
except requests.exceptions.RequestException as e:
print("An error occurred:", e)
上述代码中,我们使用raise_for_status()方法来检查请求是否成功,如果请求发生异常,会抛出RequestException异常,我们可以通过except语句来捕获并打印错误消息。
总结
本文介绍了requests模块的基础使用方法和一些高级应用。使用requests模块,可以方便地发送GET请求、POST请求等,并处理返回的响应结果。在发送请求时,可以设置请求头和查询参数。处理响应结果时,可以获取响应状态码、响应头、响应内容等。同时,还介绍了异常处理的方法。通过学习和掌握requests模块的使用,可以更加方便地进行网络请求和访问Web页面。