python中用Scrapy實現(xiàn)定時爬蟲的實例講解
一般網(wǎng)站發(fā)布信息會在具體實現(xiàn)范圍內(nèi)發(fā)布,我們在進行網(wǎng)絡(luò)爬蟲的過程中,可以通過設(shè)置定時爬蟲,定時的爬取網(wǎng)站的內(nèi)容。使用python爬蟲框架Scrapy框架可以實現(xiàn)定時爬蟲,而且可以根據(jù)我們的時間需求,方便的修改定時的時間。
1、Scrapy介紹
Scrapy是python的爬蟲框架,用于抓取web站點并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù)。任何人都可以根據(jù)需求方便的修改。Scrapy用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測和自動化測試。
2、使用Scrapy框架定時爬取
import time from scrapy import cmdline def doSth(): # 把爬蟲程序放在這個類里 zhilian_spider 是爬蟲的name cmdline.execute('scrapy crawl zhilian_spider'.split()) # 想幾點更新,定時到幾點 def time_ti(h=17, m=54): while True: now = datetime.datetime.now() # print(now.hour, now.minute) if now.hour == h and now.minute == m: doSth() # 每隔60秒檢測一次 time.sleep(60) time_ti()
3、更簡單的寫法
import time import sys import os import datetime def Dingshi(): while True: os.system("scrapy crawl lcp")#lcp是我們爬蟲的代碼名字哦 time.sleep(60) Dingshi()
知識點擴展:
直接使用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 ) #被周期性調(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í)行一次就退出了。
到此這篇關(guān)于python中用Scrapy實現(xiàn)定時爬蟲的實例講解的文章就介紹到這了,更多相關(guān)python中使用Scrapy實現(xiàn)定時爬蟲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 自動在Windows中運行Python腳本并定時觸發(fā)功能實現(xiàn)
- 實現(xiàn)Windows下設(shè)置定時任務(wù)來運行python腳本
- 如何給windows設(shè)置定時任務(wù)并運行python腳本
- python 實現(xiàn)定時任務(wù)的四種方式
- python獲取指定時間段內(nèi)特定規(guī)律的日期列表
- Python爬蟲定時計劃任務(wù)的幾種常見方法(推薦)
- python實現(xiàn)定時發(fā)送郵件到指定郵箱
- python實現(xiàn)定時發(fā)送郵件
- python腳本定時發(fā)送郵件
- Python實現(xiàn)FTP文件定時自動下載的步驟
- python爬蟲調(diào)度器用法及實例代碼
- scrapy處理python爬蟲調(diào)度詳解
- 簡單的Python調(diào)度器Schedule詳解
- python編寫網(wǎng)頁爬蟲腳本并實現(xiàn)APScheduler調(diào)度
- Python使用定時調(diào)度任務(wù)的方式
相關(guān)文章
python 申請內(nèi)存空間,用于創(chuàng)建多維數(shù)組的實例
今天小編就為大家分享一篇python 申請內(nèi)存空間,用于創(chuàng)建多維數(shù)組的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python函數(shù)的參數(shù)類型和使用技巧詳解
這篇文章主要介紹了Python函數(shù)的參數(shù)類型和使用技巧詳解,函數(shù)指通過專門的代碼組織,用來實現(xiàn)特定功能的代碼段,具有相對的獨立性,可以被其他代碼重復(fù)調(diào)用,需要的朋友可以參考下2023-08-08python實現(xiàn)同一局域網(wǎng)下傳輸圖片
這篇文章主要為大家詳細介紹了python實現(xiàn)同一局域網(wǎng)下傳輸圖片,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03python?opencv實現(xiàn)灰度圖和彩色圖的互相轉(zhuǎn)換
這篇文章主要給大家介紹了關(guān)于python?opencv實現(xiàn)灰度圖和彩色圖的互相轉(zhuǎn)換,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-01-01Python操作MongoDb數(shù)據(jù)庫流程詳解
這篇文章主要介紹了Python操作MongoDb數(shù)據(jù)庫流程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03