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

