[英]How do I create middleware for parse and parse_item using Scrapy?
我正在使用Scrapy,並且希望能夠檢查我的數據庫中的should_continue
標志,並在錯誤的情況下引發CloseSpider異常。 但是,根據此處的文檔: http ://doc.scrapy.org/en/latest/topics/exceptions.html,只能從parse
或parse_item
調用parse_item
。
我可以在每個parse
每個parse
和parse_item
添加一個函數,但這與DRY主體parse_item
。 我能以某種方式創建在調用這些函數之前總是調用的parse
和parse_item
中間件嗎?
我無法使用DOWNLOADER_MIDDLEWARE或SPIDER_MIDDLEWARE來觸發它,正確的方法是什么?
引發CloseSpider時, CloseSpider
唯一要做的就是調用執行引擎的close_spider()
方法: https : //github.com/scrapy/scrapy/blob/master/scrapy/core/scraper.py#L152-L153
您可以自己調用該方法以獲得相同的結果。
這也是CloseSpider擴展的功能: https : //github.com/scrapy/scrapy/blob/master/scrapy/extensions/closespider.py
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.