介紹
對於Python開發者來說,抓取和發送網路請求是一個重要的工作。requests庫是Python中最著名的HTTP請求庫之一,廣泛應用於爬蟲、API請求以及Web開發等領域。本文將詳細介紹requests庫的使用,帶你從入門到掌握,成為一名Python工程師必不可少的技能。
正文
一、安裝和導入requests庫
在開始使用requests庫之前,需要先安裝和導入它。在終端或命令行中輸入以下命令即可安裝:
pip install requests
導入requests庫,則可以直接使用以下語句:
import requests
二、發送GET請求
requests庫最簡單的用法就是發送GET請求。使用requests庫非常容易,只需要使用get()方法就可以實現。以下是一個簡單的例子:
import requests
response = requests.get("https://www.baidu.com")
print(response.text)
上述代碼會向「https://www.baidu.com」發送一個GET請求,獲取該網頁的HTML代碼,並列印在控制台上。
三、發送POST請求
如果需要向一個API發送數據,可以使用POST請求。requests庫的post()方法可以方便地實現這個功能。以下是一個POST請求的例子:
import requests
payload = {"username": "admin", "password": "admin"}
response = requests.post("http://api.com/login", data=payload)
print(response.status_code)
上述代碼將會向「http://api.com/login」發送一個POST請求,並將payload數據作為請求體發送。status_code屬性可以獲取這個請求的狀態碼。
四、使用請求頭
在使用requests庫發送請求時,很多網站都需要使用請求頭才能正常響應。以下是一個使用請求頭的例子:
import requests
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"}
response = requests.get("https://www.zhihu.com", headers=headers)
print(response.text)
上述代碼將會向「https://www.zhihu.com」發送一個GET請求,並在請求頭中添加了User-Agent。通過添加請求頭,我們可以模擬瀏覽器發送請求,並成功獲取到「https://www.zhihu.com」頁面的HTML代碼。
五、使用代理
在爬取網頁時,經常會被某些網站限制IP的訪問次數或頻率。為了規避這個問題,可以使用代理IP。以下是一個使用代理的例子:
import requests
proxies = {"http": "http://127.0.0.1:8800", "https": "https://127.0.0.1:8800"}
response = requests.get("https://www.baidu.com", proxies=proxies)
print(response.text)
上述代碼將會向「https://www.baidu.com」發送一個GET請求,並使用代理IP訪問。proxies參數需要一個字典,其中http和https分別對應HTTP和HTTPS協議的代理地址。
小結
以上是requests庫使用的一些常見方法。學會使用requests庫,可以讓Python工程師更輕鬆地完成抓取和發送請求的任務。不過,在實際應用中,requests庫還有更多高級用法,如文件上傳、cookie管理等,讀者可以自行深入了解。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/293470.html