學習要點
學習如何跟蹤調試scrapy框架
oh..距離上次寫scrapy筆記3已經有一個多月了,跳票這么久,除了投簡歷找工作就是自己懶癌發作.
嗯,等確定了到底去哪工作之后一定會勤奮的更新的!
今天來講講怎么跟蹤調試scrapy.
大家都知道scrapy是用命令行運行的,其中官方文檔也有介紹怎么查看scrapy的狀態,還有嵌入一句代碼在有response的地方停止等等.
不過有時我們需要跟蹤進scrapy源碼里深入學習他的精髓,這時候官方文檔的說明就不足了.
我在網上找到這一份代碼,可以用于跟蹤調試,至于原理什么的.其實就是scrapy是用了twisted的reactor來啟動的(異步多線程的特性)
然后我們自己寫個reactor來手動啟動scrapy,就可以跟蹤調試了,再深入一點的知識我就不會了..twisted框架還沒開始學呢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同目錄.然后就可以從這個py文件啟動進行調試了~