Python Requests訪問網(wǎng)絡(luò)更方便
一、基本用法
首先,確保你已經(jīng)安裝了 requests 庫。如果沒有安裝,可以通過 pip 命令進(jìn)行安裝:
pip install requests
1. 發(fā)送 GET 請(qǐng)求
使用 requests
庫發(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)求類似,只需要將 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庫中的函數(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ù)。字典的鍵是文件字段的名稱,值是一個(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)沒有響應(yīng),則會(huì)引發(fā)超時(shí)異常。
例如:requests.get(url, timeout=10.0)
proxies:一個(gè)字典,用于設(shè)置代理服務(wù)器信息。字典的鍵是代理類型(如'http'、'https'等),值是代理服務(wù)器的地址和端口號(hào)。
例如:requests.get(url, proxies={'http': 'http://proxy_address:proxy_port'})
allow_redirects:一個(gè)布爾值,用于控制是否允許自動(dòng)重定向。默認(rèn)為True。如果設(shè)置為False,則不會(huì)自動(dòng)處理重定向,需要手動(dòng)處理重定向的響應(yīng)。
這些參數(shù)只是requests庫中可用參數(shù)的一部分。更多的參數(shù)和詳細(xì)信息可以查看requests庫的官方文檔。
以上就是Python Requests訪問網(wǎng)絡(luò)更方便的詳細(xì)內(nèi)容,更多關(guān)于Python Requests訪問網(wǎng)絡(luò)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python實(shí)現(xiàn)實(shí)時(shí)跟隨微信窗口移動(dòng)的GUI界面
Python寫一些簡(jiǎn)單的GUI界面也是非常簡(jiǎn)單的,并且Python有著豐富的庫,這些庫可以很方便我們?nèi)ゲ僮鱓indows系統(tǒng)。本文就來用Python編寫一個(gè)實(shí)時(shí)跟隨微信窗口移動(dòng)的GUI界面吧2023-04-04Python3實(shí)現(xiàn)統(tǒng)計(jì)單詞表中每個(gè)字母出現(xiàn)頻率的方法示例
這篇文章主要介紹了Python3實(shí)現(xiàn)統(tǒng)計(jì)單詞表中每個(gè)字母出現(xiàn)頻率的方法,涉及Python針對(duì)文件的讀取、遍歷、統(tǒng)計(jì)等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01python計(jì)算機(jī)視覺OpenCV庫實(shí)現(xiàn)實(shí)時(shí)攝像頭人臉檢測(cè)示例
這篇文章主要為大家介紹了python使用OpenCV實(shí)現(xiàn)實(shí)時(shí)攝像頭人臉檢測(cè)的示例過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10python提取包含關(guān)鍵字的整行數(shù)據(jù)方法
今天小編就為大家分享一篇python提取包含關(guān)鍵字的整行數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python for循環(huán)搭配else常見問題解決
這篇文章主要介紹了Python for循環(huán)搭配else常見問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02把JSON數(shù)據(jù)格式轉(zhuǎn)換為Python的類對(duì)象方法詳解(兩種方法)
本文通過兩種方法給大家介紹了把JSON數(shù)據(jù)格式轉(zhuǎn)換為Python的類對(duì)象,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-06-06