Python Requests訪問網(wǎng)絡(luò)更方便
一、基本用法
首先,確保你已經(jīng)安裝了 requests 庫。如果沒有安裝,可以通過 pip 命令進(jìn)行安裝:
pip install requests
1. 發(fā)送 GET 請求
使用 requests 庫發(fā)送 GET 請求非常簡單。以下是一個示例:
import requests
response = requests.get('https://www.example.com')
print(response.text)在這個例子中,我們使用 requests.get() 方法發(fā)送一個 GET 請求到 https://www.example.com,并將響應(yīng)保存在 response 變量中。然后,我們使用 response.text 屬性打印響應(yīng)內(nèi)容。
2. 發(fā)送 POST 請求
發(fā)送 POST 請求與發(fā)送 GET 請求類似,只需要將 requests.get() 方法替換為 requests.post() 方法即可。以下是一個示例:
import requests
data = {'key1': 'value1', 'key2': 'value2'} # 要發(fā)送的數(shù)據(jù)
response = requests.post('https://www.example.com', data=data)
print(response.text)在這個例子中,我們將要發(fā)送的數(shù)據(jù)保存在 data 字典中,并將其作為 data 參數(shù)傳遞給 requests.post() 方法。然后,我們打印響應(yīng)內(nèi)容。
二、處理響應(yīng)數(shù)據(jù)
除了使用 response.text 屬性獲取響應(yīng)內(nèi)容之外,你還可以使用其他屬性獲取響應(yīng)的元數(shù)據(jù)和狀態(tài)碼等信息。以下是一些常用的屬性:
response.status_code:返回 HTTP 狀態(tài)碼(例如,200、404 等)。response.headers:返回響應(yīng)頭信息。response.cookies:返回響應(yīng)的 Cookie 信息。response.elapsed:返回響應(yīng)所花費(fèi)的時間(以秒為單位)。response.url:返回響應(yīng)的 URL。response.history:返回請求的歷史記錄(如果有的話)。response.close():關(guān)閉響應(yīng)對象。
以下是一個示例,演示如何使用這些屬性:
import requests
response = requests.get('https://www.example.com')
print(response.status_code) # 輸出狀態(tài)碼(例如,200)
print(response.headers) # 輸出響應(yīng)頭信息(例如,Content-Type、Server 等)
print(response.cookies) # 輸出響應(yīng)的 Cookie 信息(如果有的話)
print(response.elapsed) # 輸出響應(yīng)所花費(fèi)的時間(以秒為單位)
print(response.url) # 輸出響應(yīng)的 URL(例如,https://www.example.com)
print(response.history) # 輸出請求的歷史記錄(如果有的話)
response.close() # 關(guān)閉響應(yīng)對象,釋放資源。requests庫中的函數(shù)參數(shù)可以控制請求的各種方面,下面將詳細(xì)介紹一些常用的參數(shù):
url:請求的URL地址。
例如:requests.get('http://www.example.com')
method:HTTP請求方法,如GET、POST、PUT、DELETE等。
例如:requests.get(url, data=my_data)
headers:一個字典,用于設(shè)置請求頭信息。
例如:requests.get(url, headers={'Content-Type': 'application/json'})
params:一個字典,用于設(shè)置請求參數(shù)。這些參數(shù)會被添加到URL中。
例如:requests.get(url, params={'page': 1, 'per_page': 10})
data:一個字典或字符串,用于發(fā)送POST請求的表單數(shù)據(jù)。
例如:requests.post(url, data={'key1': 'value1', 'key2': 'value2'})
json:一個字典,用于發(fā)送JSON格式的POST請求數(shù)據(jù)。該參數(shù)會自動將字典轉(zhuǎn)換為JSON字符串。
例如:requests.post(url, json={'key1': 'value1', 'key2': 'value2'})
cookies:一個字典,用于設(shè)置請求的cookie信息。
例如:requests.get(url, cookies={'cookie_name': 'cookie_value'})
auth:一個元組,包含用戶名和密碼,用于HTTP Basic Authentication認(rèn)證。
例如:requests.get(url, auth=('username', 'password'))
files:一個字典,用于發(fā)送多部分表單數(shù)據(jù)。字典的鍵是文件字段的名稱,值是一個包含文件名、文件內(nèi)容等的字典。
例如:requests.post(url, files={'file_field': ('file_name', open('file_path', 'rb'))})
timeout:一個浮點(diǎn)數(shù),表示請求的超時時間(以秒為單位)。如果請求在指定的時間內(nèi)沒有響應(yīng),則會引發(fā)超時異常。
例如:requests.get(url, timeout=10.0)
proxies:一個字典,用于設(shè)置代理服務(wù)器信息。字典的鍵是代理類型(如'http'、'https'等),值是代理服務(wù)器的地址和端口號。
例如:requests.get(url, proxies={'http': 'http://proxy_address:proxy_port'})
allow_redirects:一個布爾值,用于控制是否允許自動重定向。默認(rèn)為True。如果設(shè)置為False,則不會自動處理重定向,需要手動處理重定向的響應(yīng)。
這些參數(shù)只是requests庫中可用參數(shù)的一部分。更多的參數(shù)和詳細(xì)信息可以查看requests庫的官方文檔。
以上就是Python Requests訪問網(wǎng)絡(luò)更方便的詳細(xì)內(nèi)容,更多關(guān)于Python Requests訪問網(wǎng)絡(luò)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python try...finally...的實(shí)現(xiàn)方法
這篇文章主要介紹了python try...finally...的實(shí)現(xiàn)方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11
python使用代理ip訪問網(wǎng)站的實(shí)例
今天小編就為大家分享一篇python使用代理ip訪問網(wǎng)站的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
Selenium向iframe富文本框輸入內(nèi)容過程圖解
這篇文章主要介紹了Selenium向iframe富文本框輸入內(nèi)容過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04
使用 NumPy 和 Matplotlib 繪制函數(shù)圖
Matplotlib 是 Python 的繪圖庫。 它可與 NumPy 一起使用,提供了一種有效的 MatLab 開源替代方案。 它也可以和圖形工具包一起使用,如 PyQt 和 wxPython2021-09-09
python使用epoll實(shí)現(xiàn)服務(wù)端的方法
今天小編就為大家分享一篇python使用epoll實(shí)現(xiàn)服務(wù)端的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
從原理到實(shí)戰(zhàn)詳解Python實(shí)現(xiàn)PDF圖片OCR識別全流程
在數(shù)字化辦公場景中,掃描版PDF文件的文本提取需求日益增長,本文將使用通俗語言講解如何用Python實(shí)現(xiàn)高效OCR識別,感興趣的小伙伴可以了解下2025-09-09
python?matplotlib實(shí)現(xiàn)條形圖的填充效果
這篇文章主要為大家詳細(xì)介紹了python?matplotlib實(shí)現(xiàn)條形圖的填充效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04

