我正在检查一堆网站响应状态并将它们导出到CSV文件。有几个网站有DNSLookupError或NO WEBSITE FOUND,但没有在CSV文件中存储任何内容。我如何将DNSLookupError消息与URL一起存储到CSV文件中?
DNSLookupError
def parse(self, response): yield { 'URL': response.url, 'Status': response.status }
hfsqlsce1#
您可以使用errback函数来捕获DNS错误或任何其他类型的错误。请参阅下面的示例用法。
errback
import scrapy from twisted.internet.error import DNSLookupError class TestSpider(scrapy.Spider): name = 'test' allowed_domains = ['example.com'] def start_requests(self): yield scrapy.Request(url="http://example.com/error", errback=self.parse_error) def parse_error(self, failure): if failure.check(DNSLookupError): # this is the original request request = failure.request yield { 'URL': request.url, 'Status': failure.value } def parse(self, response): yield { 'URL': response.url, 'Status': response.status }
1条答案
按热度按时间hfsqlsce1#
您可以使用
errback
函数来捕获DNS错误或任何其他类型的错误。请参阅下面的示例用法。