安裝retrying模塊:
win10用戶在聯網的情況下直接在cmd.exe里面鍵入"pip install retrying" 即可安裝retrying模板
在網頁正常瀏覽的過程中,如果發生過慢的情況,我們會重新加載頁面,在代碼中,如果我們要實現重新加載頁面,就需要使用到retrying模塊了
retrying 模塊的使用
使用retrying模塊提供的retry模塊
通過裝飾器的方式使用,讓被裝飾的函數反復執行
retry中可以傳入參數stop_max_attempt_number,讓函數報錯后繼續重新執行,達到最大執行次數的上限,如果每次都報錯,整個函數報錯,如果中間有一個成功,程序繼續往后執行
import requests
from retrying import retry
@retry(stop_max_attempt_number=3)
def get12306():
print('123')
url = "https://www.12306.cn/mormhweb/"
response = requests.get(url,timeout=0.001)
print(response.content.decode())
if __name__ == '__main__':
try:
get12306()
except:
print('finish')
我們使用timeout屬性營造出一種網速慢的情況
如果每次請求都失敗的話,會重復加載三次
但如果成功一次,就不再重新加載直接停止,即第一次便成功加載進去的話,便只運行一次
import requests
from retrying import retry
@retry(stop_max_attempt_number=3)
def get12306():
print('123')
url = "https://www.12306.cn/mormhweb/"
response = requests.get(url,timeout=3) # 使其停頓3秒
print(response.content.decode())
if __name__ == '__main__':
try:
get12306()
except:
print('finish')