亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python循環定時中斷執行某一段程序的實例

發布時間:2020-10-01 20:53:50 來源:腳本之家 閱讀:290 作者:我要你的自然74 欄目:開發技術

問題說明

最近在寫爬蟲,由于單個賬號訪問頻率太高會被封,所以需要在爬蟲執行一段時間間隔后自己循環切換賬號

所以就在想,有沒有像單片機那樣子設置一個定時中斷,再定義一個中斷入口,這樣子每隔一段時間執行一次中斷

當然不能用sleep,這樣子整個進程就停在這了,而不是接著爬數據

解決方法

用到threading的Timer,也類似單片機那樣子,在中斷程序中再重置定時器,設置中斷,python實例代碼如下

import threading
import time
def change_user():
  print('這是中斷,切換賬號')
  t = threading.Timer(3, change_user)
  t.start()
#每過3秒切換一次賬號
t = threading.Timer(3, change_user)
t.start()
while True:
  print('我在爬數據')
  time.sleep(1)

輸出就像這樣子:

我在爬數據
我在爬數據
我在爬數據
這是中斷,切換賬號
我在爬數據
我在爬數據
我在爬數據
這是中斷,切換賬號
我在爬數據

現在問題就解決啦!

再想想單獨對于這個例子來說也是可以用sleep的,代碼如下

import threading
import time
def change_user():
  while True:
    print('這是中斷,切換賬號')
    time.sleep(3)
def spider():
  while True:
    print('我在爬數據')
    time.sleep(1)
t1 = threading.Thread(target=change_user)
t2 = threading.Thread(target=spider)
t2.start()
t1.start()
t2.join()
t1.join()

因為兩個線程再執行sleep的時候會釋放GIL鎖,被另一線程搶到GIL鎖,也可以實現定時切換賬號,不過這個對于實際應用可以不太方便,所以推薦使用第一種方法

以上這篇python循環定時中斷執行某一段程序的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安宁市| 巧家县| 苍南县| 新化县| 磐石市| 河曲县| 博罗县| 视频| 弋阳县| 山阴县| 清流县| 高陵县| 准格尔旗| 祥云县| 西藏| 哈巴河县| 怀远县| 阳信县| 新野县| 洪江市| 花垣县| 陆川县| 信丰县| 牙克石市| 泊头市| 五原县| 五指山市| 新干县| 花莲县| 剑阁县| 福州市| 陇川县| 睢宁县| 开阳县| 通辽市| 永州市| 富宁县| 焉耆| 东乌珠穆沁旗| 武功县| 宜兴市|