scrapy筆記(4) - 跟蹤調(diào)試scrapy

學(xué)習(xí)要點(diǎn)

學(xué)習(xí)如何跟蹤調(diào)試scrapy框架

oh..距離上次寫scrapy筆記3已經(jīng)有一個(gè)多月了,跳票這么久,除了投簡(jiǎn)歷找工作就是自己懶癌發(fā)作.
嗯,等確定了到底去哪工作之后一定會(huì)勤奮的更新的!

今天來(lái)講講怎么跟蹤調(diào)試scrapy.
大家都知道scrapy是用命令行運(yùn)行的,其中官方文檔也有介紹怎么查看scrapy的狀態(tài),還有嵌入一句代碼在有response的地方停止等等.
不過(guò)有時(shí)我們需要跟蹤進(jìn)scrapy源碼里深入學(xué)習(xí)他的精髓,這時(shí)候官方文檔的說(shuō)明就不足了.
我在網(wǎng)上找到這一份代碼,可以用于跟蹤調(diào)試,至于原理什么的.其實(shí)就是scrapy是用了twisted的reactor來(lái)啟動(dòng)的(異步多線程的特性)
然后我們自己寫個(gè)reactor來(lái)手動(dòng)啟動(dòng)scrapy,就可以跟蹤調(diào)試了,再深入一點(diǎn)的知識(shí)我就不會(huì)了..twisted框架還沒開始學(xué)呢0.0

from twisted.internet import reactor
from scrapy.crawler import Crawler
from scrapy import log, signals
from scrapy.utils.project import get_project_settings
from spiders.MoiveSpider import MoiveSpider

spider = MoiveSpider()  #這里改為你的爬蟲類名
settings = get_project_settings()
crawler = Crawler(settings)
crawler.signals.connect(reactor.stop, signal=signals.spider_closed)
crawler.configure()
crawler.crawl(spider)
crawler.start()
log.start()
reactor.run()

如代碼所示,把這份代碼保存到py文件中,與items.py同目錄.然后就可以從這個(gè)py文件啟動(dòng)進(jìn)行調(diào)試了~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容