我正在使用Scrapy Spider从网站上抓取一些数据,但并非所有链接都很好。我对其中的某些人遇到了NotSupported
错误,我想将这些url存储在文件中或定义其他行为。有没有办法捕获scrapy.exceptions.NotSupported
并定义自定义行为?
我天真地尝试了以下代码,但是它不起作用。
try:
yield scrapy.Request(url, callback=self.parse)
except scrapy.exceptions.NotSupported:
self.logger.info(url)
答案 0 :(得分:0)
在创建NotSupported
对象时引发response.urljoin(url)
表示您提供的网址错误。
如果该URL是从HTML响应中提取的,则最可能的原因是该URL是相对的,并且Request
只能使用绝对URL。
您可以使用neo-python而不是url
来解决该问题。