Python 請求模塊指南:如何在 Python 中使用請求庫?
已發表: 2020-03-26當您在網絡上工作時,出於商業或個人目的,您可能會尋找一些信息。 或者您可能想使用網站來觀看視頻、上傳數據或查看社交媒體。 要訪問 Internet 上的所有這些資源,您必須通過瀏覽器向 Internet 服務器發送請求。
HTTP(超文本傳輸協議)是一組允許客戶端和服務器之間通過 Internet 進行通信的規則。 在 Python 中編程時,您可以使用名為requests的模塊發出這些請求。 要獲得 Python 方面的專業知識,請查看我們的數據科學課程。
在本文中,我們將學習Python requests 模塊的基礎知識。
目錄
Python 請求模塊
Python 中的 requests 模塊允許您在 Web 上交換請求。 它是一個非常有用的庫,具有許多發送 HTTP 請求的基本方法和功能。 如前所述,HTTP 充當服務器和客戶端之間的請求-響應系統。 您的 Web 瀏覽器可能是客戶端,而託管您要訪問的站點的系統是服務器。 查看所有重要的 python 庫。
當您希望向服務器發送請求時,您會遇到兩種方法:
- GET – 此方法用於從服務器請求數據。
- POST – 此方法用於向服務器提交一些數據以進行處理。
Python requests 模塊有一個簡單的API,您可以使用它來處理所有這些請求。 它為您提供了許多有趣的功能,例如在 URL 中傳遞參數、添加標頭、發送自定義標頭等等。
了解更多:您應該了解的 Python 模塊
要開始使用 requests 模塊,第一步是在 Python 中安裝該模塊。 為此,請在 Python 中鍵入以下代碼:
$ pip 安裝請求
如果您想使用 Pipenv,一個用於安裝 requests 模塊的 Python 打包工具,請輸入以下代碼:
$ pipenv 安裝請求
安裝模塊後,您可以通過導入在程序中使用它。 使用以下代碼:
導入請求
現在,讓我們了解python請求模塊中最重要的方法——GET和POST。
獲取請求
此方法用於向 URL 發送 GET 請求。 這表明您正在尋找從網絡上的資源獲取數據。 基本語法是:
requests.get(url, params={key: value}, args)
這裡, url是您要發送請求的網站的 URL。 參數是用於發送查詢字符串的字典或元組列表。 args可以是 GET 方法提供的各種命名參數(可選)中的任何一個或多個。 而且,這些是:
- allow_redirects – 這是一個用於啟用或禁用重定向的布爾值。 默認值:真
- auth – 這是一個啟用 HTTP 身份驗證的元組。 默認值:無
- cert – 這可以是一個元組或一個字符串,用於提及證書文件或密鑰。 默認值:無
- timeout – 它可以是一個元組或一個數字,表示等待客戶端建立連接或發送響應之前的秒數。 默認值:無
- verify – 這是一個字符串或布爾值,表示服務器的 TLS 證書驗證。 默認值是true。
- cookies – 這是您要發送到指定 URL 的 cookie 字典。 默認值:無
- headers – 這是一個包含您希望發送到 URL 的 HTTP 標頭的字典。 默認值:無
- 流- 它是一個布爾值 True 或 False ,指示響應應該是流式傳輸( True )還是立即下載( False )。 默認值:假
- proxies – 這是代理 URL 協議的字典。 默認值:無
了解更多:用於機器學習的 Python 庫
成功發送 GET 請求後,該方法將返回requests.Response 對象。 此對象存儲從服務器獲得的響應。 您可以將 get() 方法的結果存儲在變量中。 然後,您可以檢查此響應的詳細信息。 在這方面對您有幫助的重要屬性如下:

- response.content - 這為您提供響應數據的內容。
- response.status_code – 這為您提供了請求的狀態。 例如,200 OK 表示您的請求成功,但 404 NOT FOUND 表示您的請求無法為您找到資源。
- response.cookies – 這用於獲取 CookieJar 對象,其中包含您從服務器獲得的所有 cookie。
POST 請求
您可以使用post() 方法將一些信息發送到服務器。 請求的基本語法是:
requests.post(url, data={key: value}, json={key: value}, args)
一些重要的參數是:
- url – 這是您要發送一些數據的 URL。 這是一個強制參數。
- data – 這是一個可選參數,用於指定要發送到 URL 的字典、文件對像或元組。
- json – 這是要發送到 URL 的 JSON 對象。
args可以是任何不同的命名參數,例如:
- files – 這是用於發送到 URL 的文件字典。
- headers – 要發送到指定 URL 的 HTTP 標頭字典。
- cookies – 這表示您可能要發送的 cookie 字典。
就像 get() 一樣,post() 方法也返回一個 requests.Response 對象。
包起來
上面的python 請求模塊教程將幫助您發出基本的服務器請求。 要記住的一件事是 get() 方法不如 post() 安全。 這是因為在 get() 中,參數是通過 URL 傳遞的。 因此,可能會洩露敏感信息,例如密碼。 因此,在需要交換密碼或重要信息的情況下使用 post()。
如果您想了解 Python、數據科學,請查看 IIIT-B 和 upGrad 的數據科學執行 PG 計劃,該計劃是為在職專業人士創建的,提供 10 多個案例研究和項目、實用的實踐研討會、與行業專家的指導,與行業導師一對一,400 多個小時的學習和頂級公司的工作協助。
Python中的Request模塊有什麼用?
為了向任何指定的 URL 發出 HTTP 請求,Python 中使用了 Requests 庫。 Python 中有幾個內置功能可用於處理請求和響應。
為了向指定的 URL 發出 HTTP 請求,Python 請求模塊在 HEAD、GET、PATCH、POST 和 PUT 等不同請求的幫助下使用。 發送 HTTP 請求的主要原因是從服務器檢索數據或將某些數據推送到服務器。 可以說,請求將充當客戶端和服務器之間發送和接收請求的橋樑。 根據要求,所有 5 種請求類型都用於不同的目的。
任何響應消息的 3 個部分是什麼?
所有的 HTTP 消息都是簡單的格式化數據塊。 每條消息都將包含來自客戶端的請求消息或來自服務器端的響應消息。 每條 HTTP 消息都分為 3 個部分:
1. 描述信息的起跑線。
2.包含所有屬性的標題塊。
3. 可選的正文部分,包含要傳輸的必要數據。
任何 HTTP 消息中的 URL 指的是資源所在的地址。 另一方面,協議將引用必須用於獲取信息的 HTTP 協議。
Python 中的 POST 方法有什麼作用?
通常,當必須將數據從表單發送到服務器以更新服務器中的現有數據時,會在表單中使用 POST 方法。 requests 模塊提供 POST 方法,可以藉助 URL 和參數值直接將數據發送到服務器。 它是一種更有可能用於提交任何 Web 表單或上傳任何文件的請求方法。