国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

淺析python實現(xiàn)scrapy定時執(zhí)行爬蟲

2020-02-22 23:21:31
字體:
供稿:網(wǎng)友

項目需要程序能夠放在超算中心定時運行,于是針對scrapy寫了一個定時爬蟲的程序main.py ,直接放在scrapy的存儲代碼的目錄中就能設(shè)定時間定時多次執(zhí)行。

最簡單的方法:直接使用Timer類

import timeimport oswhile True:  os.system("scrapy crawl News")  time.sleep(86400) #每隔一天運行一次 24*60*60=86400s或者,使用標準庫的sched模塊import sched#初始化sched模塊的scheduler類#第一個參數(shù)是一個可以返回時間戳的函數(shù),第二個參數(shù)可以在定時未到達之前阻塞。schedule = sched.scheduler ( time.time, time.sleep )#被周期性調(diào)度觸發(fā)的函數(shù)def func():  os.system("scrapy crawl News")def perform1(inc):  schedule.enter(inc,0,perform1,(inc,))  func()  # 需要周期執(zhí)行的函數(shù)def mymain():  schedule.enter(0,0,perform1,(86400,))if __name__=="__main__":  mymain()  schedule.run() # 開始運行,直到計劃時間隊列變成空為止關(guān)于cmd的實現(xiàn)方法,本人在單次執(zhí)行爬蟲程序時使用的是 cmdline.execute("scrapy crawl News".split())但可能因為cmdline是scrapy模塊中自帶的,所以定時執(zhí)行時只能執(zhí)行一次就退出了。

小伙伴有種方法是使用

import subprocesssubprocess.Popen("scrapy crawl News")

她的程序運行正常可以定時多次執(zhí)行,而我的卻直接退出了,改為

from subprocess import Popensubprocess.Popen("scrapy crawl News")

才正常,不知道為什么會這樣,如果有大神可以解釋原因還請指點。

反正

os.system、subprocess.Popen

都是pythoncmd的實現(xiàn)方法,可以根據(jù)需要選擇使用。

總結(jié)

以上所述是小編給大家介紹的python實現(xiàn)scrapy定時執(zhí)行爬蟲,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 龙川县| 石城县| 保德县| 喀什市| 珲春市| 尖扎县| 台安县| 湖南省| 夏邑县| 平和县| 怀集县| 酒泉市| 泽州县| 铜梁县| 麟游县| 盱眙县| 紫金县| 永嘉县| 怀仁县| 渭源县| 黄冈市| 简阳市| 岳阳市| 明水县| 昭平县| 阳原县| 陇川县| 扎赉特旗| 页游| 闽侯县| 西华县| 监利县| 宁德市| 台前县| 高邑县| 安康市| 新密市| 永靖县| 新巴尔虎右旗| 青神县| 张家界市|