Rai*_*lam 0 scrapy web-scraping python-3.x scrapy-splash
我正在检查一堆网站响应状态并将它们导出到 CSV 文件。有几个网站没有找到网站DNSLookupError,也没有在 CSV 文件中存储任何内容。如何将消息与 URL 一起存储到 CSV 中?DNSLookupError
def parse(self, response):
yield {
'URL': response.url,
'Status': response.status
}
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用该errback函数捕获 DNS 错误或任何其他类型的错误。请参阅下面的示例用法。
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
}
Run Code Online (Sandbox Code Playgroud)