【问题标题】:Scrapy redirect_urls exception.KeyErrorScrapy redirect_urls 异常.KeyError
【发布时间】:2015-04-21 17:45:08
【问题描述】:

我是 Scrapy 和 Python 的新手,最近推出了我的第一个蜘蛛。有一个功能似乎以前有效,但现在它只适用于我试图废弃的一些网站。

代码行是:

item['url_direct'] = response.request.meta['redirect_urls']

我得到的错误是:

exceptions.KeyError: 'redirect_urls'

我已经为此苦苦挣扎了一段时间,因此非常感谢任何线索或希望提供更详细的答案。 (在这里或网络上没有找到类似的问题)。

【问题讨论】:

    标签: python scrapy


    【解决方案1】:

    因此,response.request.meta['redirect_urls']RedirectMiddleware 设置为请求在重定向时可能经过的任何 URL。

    对于尚未重定向的请求,该代码将失败并返回 KeyError

    由于response.request.meta 只是一个字典,你可以使用:

    item['url_direct'] = response.request.meta.get('redirect_urls')
    

    或者你可以在设置前检查一下:

    if 'redirect_urls' in response.request.meta:
        item['url_direct'] = response.request.meta['redirect_urls']
    

    另见:

    【讨论】:

    • 我无法对评论投票,但它对我有帮助。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-10
    • 2019-12-27
    • 2021-10-07
    • 2012-11-16
    相关资源
    最近更新 更多