python中用Scrapy實(shí)現(xiàn)定時(shí)爬蟲的實(shí)例講解
一般網(wǎng)站發(fā)布信息會(huì)在具體實(shí)現(xiàn)范圍內(nèi)發(fā)布,我們?cè)谶M(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)并從頁(yè)面中提取結(jié)構(gòu)化的數(shù)據(jù)。任何人都可以根據(jù)需求方便的修改。Scrapy用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測(cè)和自動(dòng)化測(cè)試。
2、使用Scrapy框架定時(shí)爬取import timefrom scrapy import cmdlinedef 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秒檢測(cè)一次 time.sleep(60)time_ti()3、更簡(jiǎn)單的寫法
import timeimport sysimport osimport datetimedef Dingshi():while True:os.system('scrapy crawl lcp')#lcp是我們爬蟲的代碼名字哦time.sleep(60)Dingshi()
知識(shí)點(diǎn)擴(kuò)展:
直接使用Timer類實(shí)例代碼
import timeimport oswhile True: os.system('scrapy crawl News') time.sleep(86400) #每隔一天運(yùn)行一次 24*60*60=86400s或者,使用標(biāo)準(zhǔn)庫(kù)的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)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP常用日期格式化函數(shù) FormatDate()2. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐3. 解析原生JS getComputedStyle4. jsp實(shí)現(xiàn)登錄驗(yàn)證的過濾器5. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法6. 輕松學(xué)習(xí)XML教程7. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))8. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)9. ASP基礎(chǔ)入門第八篇(ASP內(nèi)建對(duì)象Application和Session)10. ASP基礎(chǔ)知識(shí)Command對(duì)象講解
