Python中如何使用requests模块进行网页请求
Requests是一个Python HTTP客户端库,它允许您发送HTTP / 1.1请求非常容易。它还允许您访问响应数据,而无需编写额外的代码。这使得HTTP请求变得更加简单,也使代码更加简洁。
本文将介绍如何使用Requests模块进行网页请求。
安装Requests模块
在使用Requests模块之前,您需要安装它。您可以使用pip或conda进行安装。
使用pip进行安装:
pip install requests
使用conda进行安装:
conda install requests
发出一个GET请求
使用Requests发送HTTP请求非常简单。 发送GET请求(在浏览器中单击链接,或在浏览器中输入URL并按Enter键)是最常见的一种操作。
要发送GET请求,请使用requests.get()函数。此函数需要一个参数 - URL。
以下是发送GET请求的示例代码:
import requests url = 'http://www.example.com' response = requests.get(url) print(response.content)
代码解释:
- 通过导入requests可以使用requests.get()函数。
- URL被分配给一个变量url。
- 然后,函数requests.get()以参数的形式接受URL。
- 这将返回Response对象。
- 在此示例中,我们将此响应存储在response变量中。
- 最后,我们使用response.content打印响应的内容。
使用Requests发送POST请求
POST请求用于向服务器提交数据。 在发送POST请求时,您需要向requests.post()方法提供额外的参数 - data。
以下是发送POST请求的示例代码:
import requests
url = 'http://www.example.com'
data = {'username': 'john', 'password': 'secret'}
response = requests.post(url, data=data)
print(response.content)
代码解释:
- URL被分配给一个变量url。
- data表示要传递到服务器的数据,将其分配给变量data。
- 然后,requests.post()方法以参数的形式接受URL和data。
- 这将返回Response对象。
- 在此示例中,我们将响应存储在response变量中。
- 最后,我们使用response.content打印响应的内容。
发送带有HTTP标头的请求
有时,您需要将HTTP标头添加到请求中。在此示例中,我们将使用自定义标头发送请求。
以下是发送带有HTTP标头的请求的示例代码:
import requests
url = 'http://www.example.com'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'}
response = requests.get(url, headers=headers)
print(response.content)
代码解释:
- URL被分配给一个变量url。
- headers包含HTTP标头,其中User-Agent标头告诉服务器我们使用的是Mozilla浏览器。
- checks = False参数禁用SSL证书验证。
- 然后,requests.get()方法以参数的形式接受URL和headers。
- 这将返回Response对象。
- 在此示例中,我们将响应存储在response变量中。
- 最后,我们使用response.content打印响应的内容。
发送基本身份验证请求
Requests还允许您向请求添加基本身份验证凭据。 在发送请求时,我们可以提供auth参数。
以下是发送基本身份验证请求的示例代码:
import requests
url = 'http://www.example.com'
auth = requests.auth.HTTPBasicAuth('username', 'password')
response = requests.get(url, auth=auth)
print(response.content)
代码解释:
- 导入requests.auth。这用于身份验证。
- URL被分配给一个变量url。
- auth参数包含HTTP基本身份验证凭据。
- 然后,requests.get()方法以参数的形式接受URL和auth。
- 这将返回Response对象。
- 在此示例中,我们将响应存储在response变量中。
- 最后,我们使用response.content打印响应的内容。
结论
使用Requests模块进行网页请求非常简单。无论是GET请求还是POST请求,Requests都可以很好地处理。 身份验证和HTTP标头也可以很容易地添加到请求中。使用Requests,您可以编写干净,有力和稳定的代码。
