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

python循環(huán)定時中斷執(zhí)行某一段程序的實例

 更新時間:2019年06月29日 10:00:16   作者:我要你的自然74  
今天小編就為大家分享一篇python循環(huán)定時中斷執(zhí)行某一段程序的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

問題說明

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

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

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

解決方法

用到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('我在爬數(shù)據(jù)')
  time.sleep(1)

輸出就像這樣子:

我在爬數(shù)據(jù)
我在爬數(shù)據(jù)
我在爬數(shù)據(jù)
這是中斷,切換賬號
我在爬數(shù)據(jù)
我在爬數(shù)據(jù)
我在爬數(shù)據(jù)
這是中斷,切換賬號
我在爬數(shù)據(jù)

現(xiàn)在問題就解決啦!

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

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

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

以上這篇python循環(huán)定時中斷執(zhí)行某一段程序的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Jupyter?Notebook出現(xiàn)不是內(nèi)部或外部的命令解決方案

    Jupyter?Notebook出現(xiàn)不是內(nèi)部或外部的命令解決方案

    這篇文章主要介紹了Jupyter?Notebook出現(xiàn)不是內(nèi)部或外部的命令解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • python實現(xiàn)求兩個字符串的最長公共子串方法

    python實現(xiàn)求兩個字符串的最長公共子串方法

    今天小編就為大家分享一篇python實現(xiàn)求兩個字符串的最長公共子串方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python PIL庫圖片灰化處理

    Python PIL庫圖片灰化處理

    這篇文章主要介紹了Python圖片灰化處理PIL庫的相關知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • python人工智能tensorflow常見損失函數(shù)LOSS匯總

    python人工智能tensorflow常見損失函數(shù)LOSS匯總

    這篇文章主要為大家介紹了python人工智能tensorflowf常見損失函數(shù)LOSS匯總,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python查詢oracle數(shù)據(jù)庫速度慢的解決方案

    Python查詢oracle數(shù)據(jù)庫速度慢的解決方案

    這篇文章主要介紹了Python查詢oracle數(shù)據(jù)庫速度慢的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • PyTorch加載預訓練模型實例(pretrained)

    PyTorch加載預訓練模型實例(pretrained)

    今天小編就為大家分享一篇PyTorch加載預訓練模型實例(pretrained),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python詞云展示庫wordcloud配置詳解

    Python詞云展示庫wordcloud配置詳解

    這篇文章主要介紹了Python詞云展示庫wordcloud配置詳解,詞云就是將詞語通過圖形可視化的方式,直觀和藝術的展示出來,詞云在我們的生活中經(jīng)常能夠看到,無論是中文的詞云還是英文的詞云,需要的朋友可以參考下
    2023-07-07
  • 基于tensorflow __init__、build 和call的使用小結

    基于tensorflow __init__、build 和call的使用小結

    這篇文章主要介紹了基于tensorflow __init__、build 和call的使用小結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • python神經(jīng)網(wǎng)絡使用Keras進行模型的保存與讀取

    python神經(jīng)網(wǎng)絡使用Keras進行模型的保存與讀取

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡使用Keras進行模型的保存與讀取,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python @property使用方法解析

    Python @property使用方法解析

    這篇文章主要介紹了Python @property使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09

最新評論