我是新来的,我遇到了一个复杂的情况。
我的问题是,有时我有像https://sitename.com/path2/?param1=value1¶m2=value2
的链接,对我来说,查询字符串并不重要,我想从请求中删除它。
我指的是这部分网址:?param1=value1¶m2=value2
个
经过一天的研究,我意识到这应该在middlewares.py文件(Downloader Middleware)(Source)中完成,因为Scrapy中的请求和回执都经过这个路径。
我试图编写一个代码,使请求和应答不带查询字符串,但我没有成功。
我代码不删除包含查询字符串请求
middlewares.py:
from w3lib.url import url_query_cleaner
class CleanUrlAgentDownloaderMiddleware:
def process_response(self, request, response, spider):
url_query_cleaner(response.url)
return response
def process_request(self, request, spider):
url_query_cleaner(request.url)
我怎样才能使用w3lib.url库或Python代码来释放这些请求呢?
只是想让你知道我在settings.py
中设置了我的类
1条答案
按热度按时间68bkxrlz1#
因为字符串是不可变的,所以你的代码不会改变请求中的任何内容。
或者,如果你想忽略在他们的url中有查询的请求,你可以