当您需要使用Python编写程序从Web服务器请求数据时,Requests库是一个非常常用而且方便的第三方库。Requests库可以支持HTTP和HTTPS协议,并且可以处理URL参数、表单数据、JSON和XML数据等。同时,Requests库还支持Cookie、HTTP认证、HTTPS验证等功能。
以下是Requests库的一些基本用法:
### 发送HTTP请求
您可以使用`requests.get()`、`requests.post()`、`requests.put()`、`requests.delete()`等方法发送HTTP请求。这些方法的用法与HTTP协议中的GET、POST、PUT、DELETE等方法相对应。其中,`requests.get()`方法用于发送GET请求,`requests.post()`方法用于发送POST请求,其余方法类推。
“`
import requests
# 发送HTTP GET请求
response = requests.get(‘https://www.example.com’)
# 发送HTTP POST请求
data = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
response = requests.post(‘https://www.example.com’, data=data)
“`
### 传递URL参数
您可以使用`params`参数向URL中传递参数。该参数应该是一个字典或者一个可迭代的对象,其中包含了键值对。Requests库会将这些参数添加到URL的末尾,并自动进行URL编码。
“`python
import requests
params = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
response = requests.get(‘https://www.example.com’, params=params)
### 发送POST请求的表单数据
如果您要发送POST请求,并且需要使用表单数据作为请求体,可以使用`data`参数。该参数应该是一个字典或者一个可迭代的对象,其中包含了键值对。Requests库会自动将该字典转换为表单数据,并添加到请求体中。
“`python
import requests
data = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
response = requests.post(‘https://www.example.com’, data=data)
### 发送JSON数据
如果您要发送JSON数据作为请求体,可以使用`json`参数。该参数应该是一个Python对象,可以是字典、列表等。Requests库会自动将该对象转换为JSON数据,并将其添加到请求体中。
“`python
import requests
import json
data = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
json_data = json.dumps(data)
response = requests.post(‘https://www.example.com’, json=json_data)
### 发送文件
如果您要发送文件作为请求体,可以使用`files`参数。该参数应该是一个字典,其中包含了键值对,键表示文件名,值表示要上传的文件。Requests库会自动将该字典转换为文件流,并将其添加到请求体中。
“`python
import requests
files = {‘file’: open(‘example.txt’, ‘rb’)}
response = requests.post(‘https://www.example.com’, files=files)
“`
### 自定义请求头
如果您需要自定义请求头,可以使用`headers`参数。该参数应该是一个字典,其中包含了键值对,键表示请求头的名称,值表示请求头的值。
“`python
import requests
headers = {‘User-Agent’: ‘Mozilla/5.0’}
response = requests.get(‘https://www.example.com’, headers=headers)
“`
### 使用Cookie
如果您需要使用Cookie,可以使用`cookies`参数。该参数应该是一个字典,其中包含了键值对,键表示Cookie的名称,值表示Cookie的值。
“`python
import requests
cookies = {‘session_id’: ‘1234567890’}
response = requests.get(‘https://www.example.com’, cookies=cookies)
“`
Requests库还提供了其他更高级的功能,如会话(Session)、代理(Proxies)等。使用Requests库可以方便地实现许多Web应用程序的功能。
未经允许不得转载:445IT之家 » python爬虫requests库简明教程