处理不支持的异常

时间:2019-01-03 16:33:43

标签: python scrapy

我正在使用Scrapy Spider从网站上抓取一些数据,但并非所有链接都很好。我对其中的某些人遇到了NotSupported错误,我想将这些url存储在文件中或定义其他行为。有没有办法捕获scrapy.exceptions.NotSupported并定义自定义行为? 我天真地尝试了以下代码,但是它不起作用。

try:
    yield scrapy.Request(url, callback=self.parse)
except scrapy.exceptions.NotSupported:
    self.logger.info(url)

1 个答案:

答案 0 :(得分:0)

在创建NotSupported对象时引发response.urljoin(url)表示您提供的网址错误。

如果该URL是从HTML响应中提取的,则最可能的原因是该URL是相对的,并且Request只能使用绝对URL。

您可以使用neo-python而不是url来解决该问题。