最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

問(wèn)題說(shuō)明

最近在寫(xiě)爬蟲(chóng),由于單個(gè)賬號(hào)訪問(wèn)頻率太高會(huì)被封,所以需要在爬蟲(chóng)執(zhí)行一段時(shí)間間隔后自己循環(huán)切換賬號(hào)

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

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

解決方法

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

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

輸出就像這樣子:

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

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

再想想單獨(dú)對(duì)于這個(gè)例子來(lái)說(shuō)也是可以用sleep的,代碼如下

import threading
import time
def change_user():
  while True:
    print('這是中斷,切換賬號(hào)')
    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()

因?yàn)閮蓚€(gè)線程再執(zhí)行sleep的時(shí)候會(huì)釋放GIL鎖,被另一線程搶到GIL鎖,也可以實(shí)現(xiàn)定時(shí)切換賬號(hào),不過(guò)這個(gè)對(duì)于實(shí)際應(yīng)用可以不太方便,所以推薦使用第一種方法

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

相關(guān)文章

  • 用Python寫(xiě)王者榮耀刷金幣腳本

    用Python寫(xiě)王者榮耀刷金幣腳本

    今天給大家?guī)?lái)的是用Python語(yǔ)言寫(xiě)一個(gè)關(guān)于手游王者榮耀刷金幣的腳本,有興趣的朋友參考學(xué)習(xí)下。
    2017-12-12
  • pytorch 自定義數(shù)據(jù)集加載方法

    pytorch 自定義數(shù)據(jù)集加載方法

    今天小編就為大家分享一篇pytorch 自定義數(shù)據(jù)集加載方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • 從訓(xùn)練好的tensorflow模型中打印訓(xùn)練變量實(shí)例

    從訓(xùn)練好的tensorflow模型中打印訓(xùn)練變量實(shí)例

    今天小編就為大家分享一篇從訓(xùn)練好的tensorflow模型中打印訓(xùn)練變量實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python游戲開(kāi)發(fā)實(shí)例之graphics實(shí)現(xiàn)AI五子棋

    Python游戲開(kāi)發(fā)實(shí)例之graphics實(shí)現(xiàn)AI五子棋

    五子棋是經(jīng)典的棋牌類游戲,很多人都玩過(guò),那么如何用Python實(shí)現(xiàn)五子棋呢,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Python中的Matplotlib模塊入門(mén)教程

    Python中的Matplotlib模塊入門(mén)教程

    這篇文章主要介紹了Python中的Matplotlib模塊入門(mén)教程,本文來(lái)自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • Python編寫(xiě)電話薄實(shí)現(xiàn)增刪改查功能

    Python編寫(xiě)電話薄實(shí)現(xiàn)增刪改查功能

    這篇文章主要為大家詳細(xì)介紹了Python編寫(xiě)電話薄實(shí)現(xiàn)增刪改查功能的相關(guān)資料,感興趣的朋友可以參考一下
    2016-05-05
  • 關(guān)于Python中進(jìn)度條的六個(gè)實(shí)用技巧分享

    關(guān)于Python中進(jìn)度條的六個(gè)實(shí)用技巧分享

    在項(xiàng)目開(kāi)發(fā)過(guò)程中加載、啟動(dòng)、下載項(xiàng)目難免會(huì)用到進(jìn)度條,下面這篇文章主要給大家介紹了關(guān)于Python中進(jìn)度條的六個(gè)實(shí)用技巧,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • KMP算法精解及其Python版的代碼示例

    KMP算法精解及其Python版的代碼示例

    KMP算法基本上被人們用作字符串的匹配操作,這里我們就來(lái)介紹KMP算法精解及其Python版的代碼示例,需要的朋友可以參考下
    2016-06-06
  • python pycurl驗(yàn)證basic和digest認(rèn)證的方法

    python pycurl驗(yàn)證basic和digest認(rèn)證的方法

    這篇文章主要介紹了python pycurl驗(yàn)證basic和digest認(rèn)證的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Python項(xiàng)目打包并部署到Docker詳細(xì)步驟

    Python項(xiàng)目打包并部署到Docker詳細(xì)步驟

    這篇文章主要介紹了如何使用Docker將Python項(xiàng)目打包成鏡像并部署為容器,包括準(zhǔn)備工作、Python項(xiàng)目結(jié)構(gòu)、編寫(xiě)Dockerfile、構(gòu)建Docker鏡像、運(yùn)行容器、優(yōu)化鏡像大小、自動(dòng)化部署以及總結(jié),需要的朋友可以參考下
    2025-03-03

最新評(píng)論

汕头市| 阿荣旗| 北安市| 嵊泗县| 德庆县| 桑日县| 延川县| 朔州市| 元江| 额尔古纳市| 当涂县| 仪征市| 敖汉旗| 阿克苏市| 留坝县| 寻甸| 溆浦县| 永登县| 奉新县| 万州区| 微博| 绥江县| 额尔古纳市| 淳安县| 武安市| 淅川县| 麦盖提县| 枣阳市| 荣成市| 青川县| 泰来县| 什邡市| 环江| 平南县| 云阳县| 大悟县| 宜黄县| 额尔古纳市| 延长县| 孙吴县| 高青县|