Scrapy ::如何获取异常请求以导出到.csv?

时间:2019-06-21 13:56:48

标签: python scrapy

我对使用Scrapy还是比较陌生,现在已经编码了大约2年了(抱歉,这是一个愚蠢的问题)。

我目前正在尝试检索一般信息,例如网站列表上的网站是否具有“隐私政策”链接或“关于我们”链接。我已经能够在具有支持HTTPS的URLS或具有实时链接的网站上抓取信息。

对于无法加载或HTTPS与HTTP有问题的网站,我一直都在例外。

  • twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion: Connection lost.>]

  • twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('SSL routines', 'ssl3_get_record', 'wrong version number')]>]

基于蜘蛛的多次爬网,我发现生成的.csv网站排除了这些链接。

我想知道如何使蜘蛛程序在可能的情况下为每列包含这些失败的链接以及预设参数。

1 个答案:

答案 0 :(得分:1)

Request之外的callback函数中,还有errback(文档为here)。

您可以编写函数来处理产生错误的请求。

因此您使用:yield Request(url="http://www.example.com", callback=self.mycallback, errback=self.myerrback)

并定义:

def myerrback(self, failure):
    # your processing here

检查用法here