您好,登錄后才能下訂單哦!
本篇內容主要講解“Python中requests庫如何使用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python中requests庫如何使用”吧!
requests 模塊是 python 基于 urllib,采用 Apache2 Licensed 開源協議的 HTTP 庫。它比 urllib 更加方便,可以節約我們大量的工作,完全滿足 HTTP 測試需求。Requests 的哲學是以 PEP 20 的習語為中心開發的,所以它比 urllib 更加 Pythoner
通過 pip install requests
安裝 requests 庫
導包:
import requests
http ,超文本傳輸協議,是互聯網上應用最為廣泛的一種網絡協議。所有的WWW文件都必須遵守這個標準。設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法,HTTP是一種基于"請求與響應"模式的、無狀態的應用層協議。HTTP協議采用URL作為定位網絡資源的的標識符
統一資源定位符是互聯網上標準資源地址。互聯網上的每一個文件都有一個唯一的 URL,它包含的信息指出文件的位置以及瀏覽器應該怎么處理它
URL 的一般語法格式為:
protocol://host[:port]/path/[?query]#fragment http://www.itcast.cn/index.html?name=andy&age=18#link
組成 | 說明 |
---|---|
protocol | 通信協議,常用:http、https 等 |
host | 主機(域名) |
port | 端口號,可選,省略時候使用方案的默認端口,如:http的默認端口為80 |
path | 路徑,由零或多個 ‘/’ 符號隔開的字符串,一般用來表示主機上的一個目錄或文件地址 |
query | 參數,以鍵值對的形式通過 & 來連接 |
fragment | 片段,# 后面內容常見于鏈接 錨點 |
url是通過HTTP協議存取資源的的Internet路徑,一個URL對應一個數據資源
方法 | 說明 |
---|---|
GET | 請求獲取URL位置的資源 |
HEAD | 請求獲取URL位置資源的響應消息報告,即獲得資源的頭部信息 |
POST | 請求向URL位置的資源后附加新的消息 |
PUT | 請求向URL位置存儲一個資源,覆蓋原URL位置的資源 |
PATCH | 請求局部更新URL位置的資源,即改變該處資源的部分內容 |
DELETE | 請求刪除URL位置存儲的資源 |
GET
,HEAD
是從服務器獲取信息到本地,PUT
,POST
,PATCH
,DELETE
是從本地向服務器提交信息。通過URL和命令管理資源,操作獨立無狀態,網絡通道及服務器成了黑盒子
requests 庫中的方法
方法 | 說明 |
---|---|
requsts.requst() | 構造一個請求,最基本的方法,是下面方法的支撐 |
requsts.get() | 獲取網頁,對應HTTP中的GET方法 |
requsts.post() | 向網頁提交信息,對應HTTP中的POST方法 |
requsts.head() | 獲取html網頁的頭信息,對應HTTP中的HEAD方法 |
requsts.put() | 向html提交put方法,對應HTTP中的PUT方法 |
requsts.patch() | 向html網頁提交局部請求修改的的請求,對應HTTP中的PATCH方法 |
requsts.delete() | 向html提交刪除請求,對應HTTP中的DELETE方法 |
主要使用 get 和 post 方法
2.1.1 基本語法
resp = requests.get(url="http://www.baidu.com") print(resp)
resp 是一個Response對象,一個包含服務器資源的對象
2.1.2 常用參數
參數 | 類型 | 作用 |
---|---|---|
params | 字典 | url為基準的url地址,不包含查詢參數;該方法會自動對params字典編碼,然后和url拼接 |
url | 字符串 | requests 發起請求的地址 |
headers | 字典 | 請求頭,發送請求的過程中請求的附加內容攜帶著一些必要的參數 |
cookies | 字典 | 攜帶登錄狀態 |
proxies | 字典 | 用來設置代理 ip 服務器 |
timeout | 整型 | 用于設定超時時間, 單位為秒 |
2.2.1 基本語法
word = input("please input a word") url = "https://fanyi.baidu.com/sug" data = { "kw": word, } headers = { 'User-Agent': "Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 96.0.4664 .93 Safari / 537.36", } resp = requests.get(url=url, data=data, headers=headers) print(resp.json())
2.2.2 常用參數
參數 | 類型 | 作用 |
---|---|---|
data | 字典 | 作為向服務器提供或提交資源時提交,主要用于 post 請求 |
json | 字典 | json格式的數據, json合適在相關的html |
注意:
data 和 params 的區別是: data提交的數據并不放在url鏈接里, 而是放在url鏈接對應位置的地方作為數據來存儲
data 和 json 的作用類似,適用方法相同
get 里面的參數大部分也適用
屬性 | 說明 |
---|---|
resp.status_code | http請求的返回狀態,若為200則表示請求成功。 |
resp.raise_for_status() | 該語句在方法內部判斷resp.status_code 是否等于200,如果不等于,則拋出異常 |
resp.text | http響應內容的字符串形式,即返回的頁面內容 |
resp.encoding | 從http header 中猜測的相應內容編碼方式 |
resp.apparent_encoding | 從內容中分析出的響應內容編碼方式(備選編碼方式) |
resp.content | http響應內容的二進制形式 |
resp.json() | 得到對應的 json 格式的數據,類似于字典 |
2.4.1 基本語法
url = "http://www.baidu.com" headers = { 'User-Agent': "Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 96.0.4664 .93 Safari / 537.36", } resp = requests.head(url=url) print(resp.headers)
resp.headers 方法反饋頭部內容,很少網絡流量獲得概要信息
python接口自動化
put請求的作用:更新資源
其語法和 post 請求的語法類似
put 和 post 區別:
新建一條記錄的話就用post
POST 方法被用于請求源服務器接受請求中的實體作為請求資源的一個新的從屬物
更新一條記錄的話就用put
PUT方法請求服務器去把請求里的實體存儲在請求URI標識下
到此,相信大家對“Python中requests庫如何使用”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。