scrapy中的spider傳參實(shí)現(xiàn)增量的方法
有時(shí)候需要根據(jù)項(xiàng)目的實(shí)際需求向spider傳遞參數(shù)來控制spider的運(yùn)行方式。
比如說,1.根據(jù)用戶提交的url來控制spider爬取的網(wǎng)站。2.根據(jù)需求增量爬取數(shù)據(jù)。
今天就寫一個(gè)增量(augmenter)的方式:
Spider參數(shù)通過 crawl 命令的 -a 選項(xiàng)來傳遞,比如:
scrapy crawl xxx -a augmenter=xxxxxx
注:augmenter=不為空
1.首先在spider里添加
注:在網(wǎng)上也看了不少的博客,最后發(fā)現(xiàn)*args, **kwargs這兩個(gè)必須加上,要不然會(huì)出現(xiàn)bug,不信的話可以試試哦!
如果想減少代碼量的話,可以寫到類里面去繼承!那這樣的話,spider里面就不要在寫了?。?!要不然就不起作用了!??!
還有
super(eval(self.__class__.__name__), self).__init__(*args, **kwargs)
這里的eval()獲取的是類名,這樣寫必須是最后一個(gè)是你要的類名,中間有繼承什么的,就會(huì)出錯(cuò)!或者直接把類名粘過來!
2.spider實(shí)現(xiàn)方式:
這樣就實(shí)現(xiàn)了簡單的增量!增量的方式有很多,常見的:時(shí)間、計(jì)數(shù)、爬取特定的幾頁!
選擇自己需要的增量方式寫在這個(gè)parse_augmenter()里面,
這樣需要從頭開始run和增量run就不受影響!
到此這篇關(guān)于scrapy中的spider傳參實(shí)現(xiàn)增量的方法的文章就介紹到這了,更多相關(guān)scrapy spider傳參增量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python判斷是否json是否包含一個(gè)key的方法
今天小編就為大家分享一篇Python判斷是否json是否包含一個(gè)key的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12利用Python進(jìn)行微服務(wù)架構(gòu)的監(jiān)控與日志分析
Python作為一種強(qiáng)大的編程語言,提供了豐富的工具和庫,可以幫助我們實(shí)現(xiàn)對微服務(wù)架構(gòu)的監(jiān)控和日志分析,本文將介紹如何利用Python編寫監(jiān)控腳本和日志分析程序,以便于更好地管理和維護(hù)微服務(wù)系統(tǒng)2024-03-03Python 調(diào)用 Windows API COM 新法
Python中調(diào)用Win32API 通常都是使用 PyWin32或者ctypes。本文給大家介紹Python 調(diào)用 Windows API COM 新法,感興趣的朋友跟隨小編一起看看吧2019-08-08python游戲的魅力之冒險(xiǎn)島實(shí)戰(zhàn)項(xiàng)目
我看了一眼沉迷《夢幻國度》的兒子!氣就不打一處來!讓你見識(shí)一下Python游戲的魅力,python實(shí)戰(zhàn)冒險(xiǎn)島游戲碼起,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值2021-09-09解決Django提交表單報(bào)錯(cuò):CSRF token missing or incorrect的問題
這篇文章主要介紹了解決Django提交表單報(bào)錯(cuò):CSRF token missing or incorrect的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03