我已经在一个python脚本中设置了我的scrapy爬虫:
import sys
import csv
import scrapy
from scrapy.http import FormRequest
from scrapy.crawler import CrawlerProcess
class MyItem(scrapy.Item):
test = scrapy.Field()
class Spider(scrapy.Spider):
start_urls = [
"blah.com",
]
def parse(self, response):
blahblah = MyItem()
# Some Code
yield blahblah
class crawler:
def start(self):
process = CrawlerProcess({
'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',
'LOG_LEVEL': 'INFO',
'FEED_FORMAT': 'csv',
'FEED_URI': 'Output.csv'
})
process.crawl(Spider)
process.start()
app = crawler()
app.start()
这是完美的。
现在如何添加一个scrapy中间件,如
process_spider_exception(response, exception, spider)
在此脚本中使用它并将其添加到CrawlerProcess
设置?
答案 0 :(得分:0)
我已经使用可以在其errback
后面使用的扭曲callback
来解决此问题,并在callback
抛出exception
时处理错误。