当前位置:  开发笔记 > 编程语言 > 正文

如何在scrapy中提出请求之前更改请求网址?

如何解决《如何在scrapy中提出请求之前更改请求网址?》经验,为你挑选了1个好方法。

我需要在下载响应之前修改我的请求URL.但我无法改变它.即使在使用修改请求URL request.replace(url=new_url),则process_response打印该未改性的网址.这是中间件的代码:

def process_request(self, request, spider):
    original_url = request.url
    new_url= original_url + "hello%20world"
    print request.url            # This prints the original request url
    request=request.replace(url=new_url)
    print request.url            # This prints the modified url

def process_response(self, request, response, spider):
    print request.url            # This prints the original request url
    print response.url           # This prints the original request url
    return response

谁能告诉我我在这里缺少什么?



1> alecxe..:

由于您正在修改request对象process_request()- 您需要返回它:

def process_request(self, request, spider):
    request = request.replace(url=request.url + "hello%20world")
    return request

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有