學習筆記 Python之Requests庫

2021-10-25 16:14:30 字數 2732 閱讀 1750

方法

說明requests.request()

構造乙個請求,支撐以下各方法的基礎方法

requests.get()

獲取html網頁的主要方法,對應於http的get

requests.head()

獲取html網頁頭資訊的方法,對應於http的head

requests.post()

向html網頁提交post請求的方法,對應於http的post

requests.put()

向html網頁提交put請求的方法,對應於http的put

requests.patch()

向html網頁提交區域性修改請求,對應於http的patch

requests.delete()

向html頁面提交刪除請求,對應於http的delete

獲得乙個網頁的最簡單的一行**:r = requests.get(url)

作用:構造乙個向伺服器請求資源的request物件,返回乙個包含伺服器資源的response物件。

*requests.get(url,params=none,*kwargs)

params:url中的額外引數,字典或位元組流格式,可選

**kwargs:12個控制訪問的引數

response物件包含爬蟲返回的全部內容

屬性說明

r.status_code

http請求的返回狀態,200表示連線成功,404或其他表示失敗

r.text

http響應內容的字串形式,即,url對應的頁面內容

r.encoding

從http header中猜測的響應內容編碼方式

從內容中分析出的響應內容編碼方式(備選編碼方式)

r.content

http響應內容的二進位制形式

r.headers

http響應內容的頭部資訊(用很少的網路流量獲取網路資源的概要資訊)

異常說明

requests.connectionerror

網路連線錯誤異常,如dns查詢失敗、拒絕連線等

http錯誤異常

requests.urlrequired

url缺失異常

requests.toomanyredirects

超過最大重定向次數,產生重定向異常

requests.connecttimeout

(僅指)連線遠端伺服器超時異常

requests.timeout

請求url超時,產生超時異常(發出url請求到獲得內容整個過程)

r.raise_for_status()

如果不是200,產生異常requests.httperror

# 爬蟲網頁的通用**框架

import requests

defgethtmltext

(url)

:try

: r = requests.get(url,timeout=30)

r.raise_for_status(

)# 如果狀態不是200,引發httperror異常

return r.text

except

:return

"產生異常"

if __name__ ==

"__main__"

: url =

""print

(gethtmltext(url)

)

http,hypertext transfer protocol,超文字傳輸協議。

http是乙個基於」請求與響應「模式的、無狀態的應用層協議。

http協議採用url作為定位網路資源的標識。

url格式 http://host[:port ][path]

port:埠號,預設埠為80

path:請求資源的路徑

http url的理解:url是通過http協議訪問資源的internet路徑,乙個url對應乙個資料資源。

方法說明

get請求獲取url位置的資源

head

請求獲取url位置資源的響應訊息報告,即獲得該資源的頭部資訊

post

請求向url位置的資源後附加新的資料

put請求向url位置儲存乙個資源,覆蓋原url位置的資源

patch

請求區域性更新url位置的資源,即改變該處資源的部分內容

delete

請求刪除url位置儲存的資源

理解patch和put的區別

假設url位置有一組資料userinfo,包括userid、username等20個字段。

需求:使用者修改了username,其他不變。

patch的最主要好處:節省網路頻寬

requests.request(method,url,**kwargs)

requests.get(url,params=none,**kwargs)

requests.head(url,**kwargs)

requests.post(url,data=none,json=none,**kwargs)

requests.put(url,data=none,**kwargs)

requests.patch(url,data=none,**kwargs)

requests.delete(url,**kwargs)

python學習筆記 flask之request

from flask import request coding utf 8 from flask import flask,request def index 訪問上面定義的路徑就是訪問此方法 請求行 print request.method request.method 獲取請求方法 print...

筆記整理 python開發介面測試requests

python開發介面測試 作用python語言實現web api介面測試,常用下面的庫 內建庫 httplib,urllib2 第三方庫 requests python requests庫 特點 簡便易用,功能強大,姐姐我喜歡用這個。請求引數 requests.get url,params xx,h...

Python學習筆記之IF

關係表示式 邏輯表示式 and,or,not 單分支 num 0 if num 1 print num 大於 1 else print num 不大於1 雙分支 num 10 if num 1 print num 大於 10 elif num 10 print num 等於 10 elif num ...