欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中requests庫的概念及使用詳解

 更新時間:2023年05月18日 10:11:52   作者:A-L-Kun  
這篇文章主要介紹了Python中requests庫的概念及使用詳解,urllib庫使用繁瑣,比如處理網(wǎng)頁驗證和Cookies時,需要編寫Opener和Handler來處理。為了更加方便的實現(xiàn)這些操作,就有了更為強大的requests庫,需要的朋友可以參考下

一、 基本概念

1、 簡介

requests 模塊是 python 基于 urllib,采用 Apache2 Licensed 開源協(xié)議的 HTTP 庫。它比 urllib 更加方便,可以節(jié)約我們大量的工作,完全滿足 HTTP 測試需求。Requests 的哲學是以 PEP 20 的習語為中心開發(fā)的,所以它比 urllib 更加 Pythoner

2、 獲取

通過 pip install requests 安裝 requests 庫

導包:

import requests

3、 http 協(xié)議

http ,超文本傳輸協(xié)議,是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。所有的WWW文件都必須遵守這個標準。設(shè)計HTTP最初的目的是為了提供一種發(fā)布和接收HTML頁面的方法,HTTP是一種基于"請求與響應(yīng)"模式的、無狀態(tài)的應(yīng)用層協(xié)議。HTTP協(xié)議采用URL作為定位網(wǎng)絡(luò)資源的的標識符

3.1 URL

統(tǒng)一資源定位符是互聯(lián)網(wǎng)上標準資源地址?;ヂ?lián)網(wǎng)上的每一個文件都有一個唯一的 URL,它包含的信息指出文件的位置以及瀏覽器應(yīng)該怎么處理它

URL 的一般語法格式為:

protocol://host[:port]/path/[?query]#fragment
http://www.itcast.cn/index.html?name=andy&age=18#link
組成說明
protocol通信協(xié)議,常用:http、https 等
host主機(域名)
port端口號,可選,省略時候使用方案的默認端口,如:http的默認端口為80
path路徑,由零或多個 ‘/’ 符號隔開的字符串,一般用來表示主機上的一個目錄或文件地址
query參數(shù),以鍵值對的形式通過 & 來連接
fragment片段,# 后面內(nèi)容常見于鏈接 錨點

url是通過HTTP協(xié)議存取資源的的Internet路徑,一個URL對應(yīng)一個數(shù)據(jù)資源

3.2 常用 http 請求方法

方法說明
GET請求獲取URL位置的資源
HEAD請求獲取URL位置資源的響應(yīng)消息報告,即獲得資源的頭部信息
POST請求向URL位置的資源后附加新的消息
PUT請求向URL位置存儲一個資源,覆蓋原URL位置的資源
PATCH請求局部更新URL位置的資源,即改變該處資源的部分內(nèi)容
DELETE請求刪除URL位置存儲的資源

GET,HEAD是從服務(wù)器獲取信息到本地,PUT,POST,PATCH,DELETE是從本地向服務(wù)器提交信息。通過URL和命令管理資源,操作獨立無狀態(tài),網(wǎng)絡(luò)通道及服務(wù)器成了黑盒子

二、 使用方法

1、 基本語法

方法說明
requsts.requst()構(gòu)造一個請求,最基本的方法,是下面方法的支撐
requsts.get()獲取網(wǎng)頁,對應(yīng)HTTP中的GET方法
requsts.post()向網(wǎng)頁提交信息,對應(yīng)HTTP中的POST方法
requsts.head()獲取html網(wǎng)頁的頭信息,對應(yīng)HTTP中的HEAD方法
requsts.put()向html提交put方法,對應(yīng)HTTP中的PUT方法
requsts.patch()向html網(wǎng)頁提交局部請求修改的的請求,對應(yīng)HTTP中的PATCH方法
requsts.delete()向html提交刪除請求,對應(yīng)HTTP中的DELETE方法

主要使用 get 和 post 方法

2、 具體使用方法

2.1 get

  • 基本語法
resp = requests.get(url="http://www.baidu.com")
print(resp) 

resp 是一個Response對象,一個包含服務(wù)器資源的對象

  • 常用參數(shù)
參數(shù)類型作用
params字典url為基準的url地址,不包含查詢參數(shù);該方法會自動對params字典編碼,然后和url拼接
url字符串requests 發(fā)起請求的地址
headers字典請求頭,發(fā)送請求的過程中請求的附加內(nèi)容攜帶著一些必要的參數(shù)
cookies字典攜帶登錄狀態(tài)
proxies字典用來設(shè)置代理 ip 服務(wù)器
timeout整型用于設(shè)定超時時間, 單位為秒

2.2 post

  • 基本語法
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())
  • 常用參數(shù)
參數(shù)類型作用
data字典作為向服務(wù)器提供或提交資源時提交,主要用于 post 請求
json字典json格式的數(shù)據(jù), json合適在相關(guān)的html

注意:

  • data 和 params 的區(qū)別是: data提交的數(shù)據(jù)并不放在url鏈接里, 而是放在url鏈接對應(yīng)位置的地方作為數(shù)據(jù)來存儲
  • data 和 json 的作用類似,適用方法相同
  • get 里面的參數(shù)大部分也適用

2.3 response

屬性說明
resp.status_codehttp請求的返回狀態(tài),若為200則表示請求成功。
resp.raise_for_status()該語句在方法內(nèi)部判斷resp.status_code是否等于200,如果不等于,則拋出異常
resp.texthttp響應(yīng)內(nèi)容的字符串形式,即返回的頁面內(nèi)容
resp.encoding從http header 中猜測的相應(yīng)內(nèi)容編碼方式
resp.apparent_encoding從內(nèi)容中分析出的響應(yīng)內(nèi)容編碼方式(備選編碼方式)
resp.contenthttp響應(yīng)內(nèi)容的二進制形式
resp.json()得到對應(yīng)的 json 格式的數(shù)據(jù),類似于字典

2.4 head

  • 基本語法注意:
data 和 params 的區(qū)別是: data提交的數(shù)據(jù)并不放在url鏈接里, 而是放在url鏈接對應(yīng)位置的地方作為數(shù)據(jù)來存儲data 和 json 的作用類似,適用方法相同get 里面的參數(shù)大部分也適用
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 方法反饋頭部內(nèi)容,很少網(wǎng)絡(luò)流量獲得概要信息

2.5 put

python接口自動化

  • put請求的作用:更新資源

其語法和 post 請求的語法類似

put 和 post 區(qū)別:

  • 新建一條記錄的話就用post
  • POST 方法被用于請求源服務(wù)器接受請求中的實體作為請求資源的一個新的從屬物
  • 更新一條記錄的話就用put
  • PUT方法請求服務(wù)器去把請求里的實體存儲在請求URI標識下

到此這篇關(guān)于Python中requests庫的概念及使用詳解的文章就介紹到這了,更多相關(guān)Python中requests庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于pytorch實現(xiàn)對圖片進行數(shù)據(jù)增強

    基于pytorch實現(xiàn)對圖片進行數(shù)據(jù)增強

    圖像數(shù)據(jù)增強是一種在訓練機器學習和深度學習模型時常用的策略,尤其是在計算機視覺領(lǐng)域,具體而言,它通過創(chuàng)建和原始圖像稍有不同的新圖像來擴大訓練集,本文給大家介紹了如何基于pytorch實現(xiàn)對圖片進行數(shù)據(jù)增強,需要的朋友可以參考下
    2024-01-01
  • 詳解python之多進程和進程池(Processing庫)

    詳解python之多進程和進程池(Processing庫)

    本篇文章主要介紹了詳解python之多進程和進程池(Processing庫),非常具有實用價值,需要的朋友可以參考下
    2017-06-06
  • Python基于textdistance實現(xiàn)計算文本相似度

    Python基于textdistance實現(xiàn)計算文本相似度

    textdistance是Python的第三方庫,用于計算文本之間的相似度或距離,本文主要為大家詳細介紹了如何使用textdistance實現(xiàn)計算文本相似度,需要的可以了解下
    2024-03-03
  • Python實現(xiàn)的用戶登錄系統(tǒng)功能示例

    Python實現(xiàn)的用戶登錄系統(tǒng)功能示例

    這篇文章主要介紹了Python實現(xiàn)的用戶登錄系統(tǒng)功能,涉及Python流程控制及字符串判斷等相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • 一文介紹Python中的正則表達式用法

    一文介紹Python中的正則表達式用法

    正則表達式是一種強大的文本匹配和處理工具,廣泛應(yīng)用于各種編程語言中,在Python中,我們可以使用內(nèi)置的re模塊來處理正則表達式,本文將帶您從入門到精通,逐步介紹Python中的正則表達式用法,并提供實例演示
    2023-07-07
  • python 利用百度API進行淘寶評論關(guān)鍵詞提取

    python 利用百度API進行淘寶評論關(guān)鍵詞提取

    這篇文章主要介紹了python 利用百度API進行淘寶評論關(guān)鍵詞提取,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-03-03
  • 從頭學Python之編寫可執(zhí)行的.py文件

    從頭學Python之編寫可執(zhí)行的.py文件

    這篇文章主要介紹了從頭學Python之編寫可執(zhí)行的.py文件,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Python實現(xiàn)基于Fasttext的商品評論數(shù)據(jù)分類的操作流程

    Python實現(xiàn)基于Fasttext的商品評論數(shù)據(jù)分類的操作流程

    這篇文章主要介紹了Python實現(xiàn)基于Fasttext的商品評論數(shù)據(jù)分類,今天使用的fasttext更像是一個集成的庫,把向量化和分類一起做掉了,這個對于使用層面來講就更方便了一些,需要的朋友可以參考下
    2022-06-06
  • 基于Python編寫一個簡單的搖號系統(tǒng)

    基于Python編寫一個簡單的搖號系統(tǒng)

    在現(xiàn)代社會中,搖號系統(tǒng)廣泛應(yīng)用于車牌搖號、房屋搖號等公共資源分配領(lǐng)域,本文將詳細介紹如何使用Python實現(xiàn)一個簡單的搖號系統(tǒng),有需要的可以了解下
    2024-11-11
  • opencv-python+yolov3實現(xiàn)目標檢測

    opencv-python+yolov3實現(xiàn)目標檢測

    因為最近的任務(wù)有用到目標檢測,快速地了解了目標檢測這一任務(wù),并且實現(xiàn)了使用opencv進行目標檢測。感興趣的可以了解一下
    2021-06-06

最新評論