當(dāng)您需要使用Python編寫程序從Web服務(wù)器請求數(shù)據(jù)時(shí),Requests庫是一個(gè)非常常用而且方便的第三方庫。Requests庫可以支持HTTP和HTTPS協(xié)議,并且可以處理URL參數(shù)、表單數(shù)據(jù)、JSON和XML數(shù)據(jù)等。同時(shí),Requests庫還支持Cookie、HTTP認(rèn)證、HTTPS驗(yàn)證等功能。
以下是Requests庫的一些基本用法:
### 發(fā)送HTTP請求
您可以使用`requests.get()`、`requests.post()`、`requests.put()`、`requests.delete()`等方法發(fā)送HTTP請求。這些方法的用法與HTTP協(xié)議中的GET、POST、PUT、DELETE等方法相對應(yīng)。其中,`requests.get()`方法用于發(fā)送GET請求,`requests.post()`方法用于發(fā)送POST請求,其余方法類推。
“`
import requests
# 發(fā)送HTTP GET請求
response = requests.get(‘https://www.example.com’)
# 發(fā)送HTTP POST請求
data = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
response = requests.post(‘https://www.example.com’, data=data)
“`
### 傳遞URL參數(shù)
您可以使用`params`參數(shù)向URL中傳遞參數(shù)。該參數(shù)應(yīng)該是一個(gè)字典或者一個(gè)可迭代的對象,其中包含了鍵值對。Requests庫會(huì)將這些參數(shù)添加到URL的末尾,并自動(dòng)進(jìn)行URL編碼。
“`python
import requests
params = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
response = requests.get(‘https://www.example.com’, params=params)
### 發(fā)送POST請求的表單數(shù)據(jù)
如果您要發(fā)送POST請求,并且需要使用表單數(shù)據(jù)作為請求體,可以使用`data`參數(shù)。該參數(shù)應(yīng)該是一個(gè)字典或者一個(gè)可迭代的對象,其中包含了鍵值對。Requests庫會(huì)自動(dòng)將該字典轉(zhuǎn)換為表單數(shù)據(jù),并添加到請求體中。
“`python
import requests
data = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
response = requests.post(‘https://www.example.com’, data=data)
### 發(fā)送JSON數(shù)據(jù)
如果您要發(fā)送JSON數(shù)據(jù)作為請求體,可以使用`json`參數(shù)。該參數(shù)應(yīng)該是一個(gè)Python對象,可以是字典、列表等。Requests庫會(huì)自動(dòng)將該對象轉(zhuǎn)換為JSON數(shù)據(jù),并將其添加到請求體中。
“`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)
### 發(fā)送文件
如果您要發(fā)送文件作為請求體,可以使用`files`參數(shù)。該參數(shù)應(yīng)該是一個(gè)字典,其中包含了鍵值對,鍵表示文件名,值表示要上傳的文件。Requests庫會(huì)自動(dòng)將該字典轉(zhuǎn)換為文件流,并將其添加到請求體中。
“`python
import requests
files = {‘file’: open(‘example.txt’, ‘rb’)}
response = requests.post(‘https://www.example.com’, files=files)
“`
### 自定義請求頭
如果您需要自定義請求頭,可以使用`headers`參數(shù)。該參數(shù)應(yīng)該是一個(gè)字典,其中包含了鍵值對,鍵表示請求頭的名稱,值表示請求頭的值。
“`python
import requests
headers = {‘User-Agent’: ‘Mozilla/5.0’}
response = requests.get(‘https://www.example.com’, headers=headers)
“`
### 使用Cookie
如果您需要使用Cookie,可以使用`cookies`參數(shù)。該參數(shù)應(yīng)該是一個(gè)字典,其中包含了鍵值對,鍵表示Cookie的名稱,值表示Cookie的值。
“`python
import requests
cookies = {‘session_id’: ‘1234567890’}
response = requests.get(‘https://www.example.com’, cookies=cookies)
“`
Requests庫還提供了其他更高級的功能,如會(huì)話(Session)、代理(Proxies)等。使用Requests庫可以方便地實(shí)現(xiàn)許多Web應(yīng)用程序的功能。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » python爬蟲requests庫簡明教程