我正在使用 scrapy-splash 从 Javascript 驱动的 IFRAMEd HTML 页面中提取信息。有时,我的启动 Javascript 函数由于某些浏览器条件而失败,并返回类似{"error": "NotSupportedError: DOM Exception 9"}
) 的错误消息。
在我的项目管道中,我删除了这些项目以保持我的结果干净:
class NewspaperLayoutPipeline(object):
def process_item(self, item, spider):
if item.has_key('error'):
raise DropItem("Error capturing item %s" % item)
...
不幸的是,我的错误项目率约为 40%。所以我想让scrapy-splash重试这些失败的url,而不是简单地删除项目。我怎样才能做到这一点?