日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 定时执行 爬虫 模块_浅析python实现scrapy定时执行爬虫

發(fā)布時間:2023/12/19 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 定时执行 爬虫 模块_浅析python实现scrapy定时执行爬虫 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

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

import time

import os

while 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 )

#被周期性調度觸發(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() # 開始運行,直到計劃時間隊列變成空為止關于cmd的實現(xiàn)方法,本人在單次執(zhí)行爬蟲程序時使用的是

cmdline.execute("scrapy crawl News".split())但可能因為cmdline是scrapy模塊中自帶的,所以定時執(zhí)行時只能執(zhí)行一次就退出了。

小伙伴有種方法是使用

import subprocess

subprocess.Popen("scrapy crawl News")

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

from subprocess import Popen

subprocess.Popen("scrapy crawl News")

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

反正

os.system、subprocess.Popen

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

總結

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

總結

以上是生活随笔為你收集整理的python 定时执行 爬虫 模块_浅析python实现scrapy定时执行爬虫的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。