C4t*_*4t4 3 python scrapy web-scraping
我想知道当scrapy在实时日志,shell或任何其他类似方式中发出POST / GET请求时,是否有任何方法可以查看正在发送的标头。谢谢!
扩展eLRuLL编写的内容。
无论Response和Request对象将通过提供其标题.headers属性。
通过下载器和引擎之间的中间件可以修改两个对象的标题(请参见Scrapy Architecture)。如果创建一个新Request对象,则在将其传递给分配对象的中间件之前,它将没有任何标题。
要查看将被发送出去的请求对象,您需要创建一个中间件,将其放置在Downloader之上,而不是任何其他更改标题的中间件,然后检查该request.headers属性。
或者,您可以通过查看来签出返回Response给Spider 的请求的标头response.request.headers。不过,这可能不是Request您发出的对象,而是导致Response返回的对象的对象(例如,重定向/重试导致最初分派的Request对象与中的Request对象不同response.request)。当然,这需要将Response对象返回给Spider,因此,对于任何Request未生成响应的对象(例如DNS查找错误)Response或通过中间件被忽略或丢弃的任何对象(例如。 HTTP状态400)。
eLR*_*uLL -2
当您发出请求时,您可以通过回调方法捕获它,回调应该如下所示:
def parse_method(self, response):
Run Code Online (Sandbox Code Playgroud)
在那里你可以检查响应头response.headers
| 归档时间: |
|
| 查看次数: |
4406 次 |
| 最近记录: |