国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 浦县| 广灵县| 巨鹿县| 延长县| 云安县| 柳河县| 巩留县| 龙岩市| 绍兴市| 襄城县| 舞阳县| 云霄县| 四子王旗| 绩溪县| 牙克石市| 潮安县| 苗栗市| 青川县| 凌源市| 金堂县| 额济纳旗| 神农架林区| 赫章县| 辽宁省| 天门市| 察哈| 重庆市| 临颍县| 宁波市| 鹤岗市| 临夏县| 丘北县| 古蔺县| 孟津县| 荥阳市| 漳浦县| 南陵县| 扬中市| 江西省| 通榆县| 巩留县|