requests乙個簡單封裝解決失敗重試問題

2021-10-03 01:13:01 字數 562 閱讀 3185

python在用requests請求的時候可能會出各種各樣的異常,我這個封裝能抓住這些異常然後自動重試。其中超時時間應該根據業務的請求時間進行調整,連線用時久的超時時間也適當加長,否則會自動斷掉重試。

@retry() # 利用retry裝飾函式,使得丟擲異常的時候自動重試知道成功。

def my_request(url):

requests.adapters.default_retries = 15

s = requests.session()

s.keep_alive = false # 關閉之前的連線,避免連線過多

try:

response = requests.get(url, timeout=5)

except baseexception: # 捕獲異常的時候,這裡粗略的寫了baseexception,根據需要可寫的更具體。

print(url, "請求失敗,開始重試")

response = requests.get(url, timeout=5)

return response

使用 Requests 實現乙個簡單網頁爬蟲

我們簡單介紹了爬蟲的基本原理,理解原理可以幫助我們更好的實現 python 提供了非常多工具去實現 http 請求,但第三方開源庫提供的功能更豐富,你無需從 socket 通訊開始寫,比如使用pyton內建模組 urllib 請求乙個 url 示例如下 import ssl from urllib....

封裝乙個簡單的池操作

臨界區同步類 class cmrthreadlock 析構函式 inline cmrthreadlock 功能函式 public 鎖定函式 virtual inline void lock 解鎖函式 virtual inline void unlock class cmrpoolobject cla...

Python 乙個簡單的MySQLdb封裝類

author yang import mysqldb class mysqlhelper def init self,host,user,password,charset utf8 self.host host self.user user self.password password self.c...