python中用Scrapy實(shí)現(xiàn)定時(shí)爬蟲的實(shí)例講解
一般網(wǎng)站發(fā)布信息會(huì)在具體實(shí)現(xiàn)范圍內(nèi)發(fā)布,我們在進(jìn)行網(wǎng)絡(luò)爬蟲的過程中,可以通過設(shè)置定時(shí)爬蟲,定時(shí)的爬取網(wǎng)站的內(nèi)容。使用python爬蟲框架Scrapy框架可以實(shí)現(xiàn)定時(shí)爬蟲,而且可以根據(jù)我們的時(shí)間需求,方便的修改定時(shí)的時(shí)間。
1、Scrapy介紹
Scrapy是python的爬蟲框架,用于抓取web站點(diǎn)并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù)。任何人都可以根據(jù)需求方便的修改。Scrapy用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測和自動(dòng)化測試。
2、使用Scrapy框架定時(shí)爬取
import time from scrapy import cmdline def doSth(): # 把爬蟲程序放在這個(gè)類里 zhilian_spider 是爬蟲的name cmdline.execute('scrapy crawl zhilian_spider'.split()) # 想幾點(diǎn)更新,定時(shí)到幾點(diǎn) 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()
知識(shí)點(diǎn)擴(kuò)展:
直接使用Timer類實(shí)例代碼
import time import os while True: os.system("scrapy crawl News") time.sleep(86400) #每隔一天運(yùn)行一次 24*60*60=86400s或者,使用標(biāo)準(zhǔn)庫的sched模塊 import sched #初始化sched模塊的scheduler類 #第一個(gè)參數(shù)是一個(gè)可以返回時(shí)間戳的函數(shù),第二個(gè)參數(shù)可以在定時(shí)未到達(dá)之前阻塞。 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() # 開始運(yùn)行,直到計(jì)劃時(shí)間隊(duì)列變成空為止關(guān)于cmd的實(shí)現(xiàn)方法,本人在單次執(zhí)行爬蟲程序時(shí)使用的是 cmdline.execute("scrapy crawl News".split())但可能因?yàn)閏mdline是scrapy模塊中自帶的,所以定時(shí)執(zhí)行時(shí)只能執(zhí)行一次就退出了。
到此這篇關(guān)于python中用Scrapy實(shí)現(xiàn)定時(shí)爬蟲的實(shí)例講解的文章就介紹到這了,更多相關(guān)python中使用Scrapy實(shí)現(xiàn)定時(shí)爬蟲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 自動(dòng)在Windows中運(yùn)行Python腳本并定時(shí)觸發(fā)功能實(shí)現(xiàn)
- 實(shí)現(xiàn)Windows下設(shè)置定時(shí)任務(wù)來運(yùn)行python腳本
- 如何給windows設(shè)置定時(shí)任務(wù)并運(yùn)行python腳本
- python 實(shí)現(xiàn)定時(shí)任務(wù)的四種方式
- python獲取指定時(shí)間段內(nèi)特定規(guī)律的日期列表
- Python爬蟲定時(shí)計(jì)劃任務(wù)的幾種常見方法(推薦)
- python實(shí)現(xiàn)定時(shí)發(fā)送郵件到指定郵箱
- python實(shí)現(xiàn)定時(shí)發(fā)送郵件
- python腳本定時(shí)發(fā)送郵件
- Python實(shí)現(xiàn)FTP文件定時(shí)自動(dòng)下載的步驟
- python爬蟲調(diào)度器用法及實(shí)例代碼
- scrapy處理python爬蟲調(diào)度詳解
- 簡單的Python調(diào)度器Schedule詳解
- python編寫網(wǎng)頁爬蟲腳本并實(shí)現(xiàn)APScheduler調(diào)度
- Python使用定時(shí)調(diào)度任務(wù)的方式
相關(guān)文章
Pytorch+PyG實(shí)現(xiàn)GIN過程示例詳解
這篇文章主要為大家介紹了Pytorch+PyG實(shí)現(xiàn)GIN過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04python 將大文件切分為多個(gè)小文件的實(shí)例
今天小編就為大家分享一篇python 將大文件切分為多個(gè)小文件的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01python 申請內(nèi)存空間,用于創(chuàng)建多維數(shù)組的實(shí)例
今天小編就為大家分享一篇python 申請內(nèi)存空間,用于創(chuàng)建多維數(shù)組的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12python3.0 模擬用戶登錄,三次錯(cuò)誤鎖定的實(shí)例
下面小編就為大家?guī)硪黄猵ython3.0 模擬用戶登錄,三次錯(cuò)誤鎖定的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11Django和Flask框架優(yōu)缺點(diǎn)對比
這篇文章主要介紹了Django和Flask框架相關(guān)對比,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10Python函數(shù)的參數(shù)類型和使用技巧詳解
這篇文章主要介紹了Python函數(shù)的參數(shù)類型和使用技巧詳解,函數(shù)指通過專門的代碼組織,用來實(shí)現(xiàn)特定功能的代碼段,具有相對的獨(dú)立性,可以被其他代碼重復(fù)調(diào)用,需要的朋友可以參考下2023-08-08python實(shí)現(xiàn)同一局域網(wǎng)下傳輸圖片
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)同一局域網(wǎng)下傳輸圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03python?opencv實(shí)現(xiàn)灰度圖和彩色圖的互相轉(zhuǎn)換
這篇文章主要給大家介紹了關(guān)于python?opencv實(shí)現(xiàn)灰度圖和彩色圖的互相轉(zhuǎn)換,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01Python操作MongoDb數(shù)據(jù)庫流程詳解
這篇文章主要介紹了Python操作MongoDb數(shù)據(jù)庫流程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03