在收益前显示完整的请求信息

时间:2017-01-03 10:24:02

标签: python scrapy

我正在产生一个重定向到另一个页面的请求,这告诉我我正在制作的请求有问题。从我的代码看起来很好,所以我想在发送之前检查请求。

我希望我可以使用调试记录器向我显示响应,但这只能告诉我:

self.logger.debug('Request: %s', req) # req = FormRequest

2017-01-03 11:01:17 [spider] DEBUG: Request: <POST https://website.com>

虽然我也希望看到随此请求提交的Cookie,标题和数据。

理想情况下,我想知道如何使用一个函数/变量来查看整个请求。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

默认字符串表示仅包含方法和URL(source)。您可以使用request_to_dict util函数并以您喜欢的任何方式格式化输出:

def log_request(req):
    self.logger.debug('url: {url}, body: {body}, cookies: {cookies}, headers: {headers}'.format(
        **request_to_dict(req)
    ))

(或者只记录整个字典)

还有COOKIES_DEBUG设置,如果设置为True,则会记录所有收到和发送的Cookie。