gpt4 book ai didi

python - 如何使用scrapy获取errback中的原始请求url

转载 作者:行者123 更新时间:2023-12-02 03:21:04 24 4
gpt4 key购买 nike

我有一个 scrapy 脚本,用于从数据库中抓取网站列表,我的目标是查找网站上是否存在某个元素并将数据写回数据库。

我通过网址对数据库进行排序,因此我需要获取原始请求网址才能将数据写入正确的数据库条目。当一切顺利时,没有问题,我可以使用response.request.url,回调函数中没有问题。但是,如果出现错误(主要是超时),我的脚本将调用 errback 函数。

我的问题是,我如何访问 errback 函数中的原始 url,因为我没有将响应传递给它,只有错误?我不需要网站上的任何数据,只是为了在知道存在某种类型的错误的情况下更新数据库,这很容易,但如果没有原始请求 url,我就无法做到这一点。

是否有一种简单的方法可以在 errback 中访问原始请求 url?

这就是我调用请求的方式:

yield Request(start_urls, callback=self.parse, errback=self.errback)

提前谢谢您!

最佳答案

来自documentation ,您可以像这样访问它:

class ErrbackSpider(scrapy.Spider):
...
def errback_httpbin(self, failure):
# with the response
url = failure.value.response.url
# with the request
url = failure.request.url

关于python - 如何使用scrapy获取errback中的原始请求url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54802529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com