【发布时间】:2022-08-19 23:16:33
【问题描述】:
我是scrapy的新手,我遇到了一个复杂的案例。
我的问题是,有时我有像https://sitename.com/path2/?param1=value1&param2=value2 这样的链接,对我来说,查询字符串并不重要,我想从请求中删除它。
我的意思是网址的这一部分:
?param1=value1&param2=value2
经过一天的研究,我意识到这应该在 middlewares.py 文件(Downloader Middleware)(Source)中完成。因为要求和收据刮擦走这条路。
我试图编写一个代码,使请求和答案没有查询字符串,但我没有成功。
我的代码不会删除包含查询字符串的请求。
中间件.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 代码发布这些请求?并且不要进入Scrapy?
只是为了让你知道我将我的课程设置在settings.py
标签: python web-scraping scrapy