Scrapy爬虫中间件,用于清理请求URL中的查询参数
项目描述
这是一个Scrapy爬虫中间件,用于根据用户提供的模式清理爬虫输出请求URL中的查询参数。
安装
使用pip安装scrapy-querycleaner
$ pip install scrapy-querycleaner
配置
在您的settings.py文件中包含QueryCleanerMiddleware以添加SPIDER_MIDDLEWARES
SPIDER_MIDDLEWARES = { 'scrapy_querycleaner.QueryCleanerMiddleware': 100, }
这里,优先级100只是一个示例。根据您已启用的其他中间件设置其值。
通过在 setting.py 中使用 QUERYCLEANER_REMOVE 或 QUERYCLEANER_KEEP (或两者同时使用) 来启用中间件。
用法
为了启用中间件,以下设置中至少需要存在一个。
支持的设置
- QUERYCLEANER_REMOVE
一个必须匹配查询参数名的模式(正则表达式),以便将其从 URL 中删除。(其他所有参数将被接受。)
- QUERYCLEANER_KEEP
一个必须匹配查询参数名的模式,以便将其保留在 URL 中。(其他所有参数将被删除。)
如果某些查询参数模式应该保留,而某些应该删除,则可以同时使用这两个设置。
删除 模式具有比 保留 模式更高的优先级。
示例
假设蜘蛛提取的 URL 如下所示
http://www.example.com/product.php?pid=135&cid=12&ttda=12
我们只想留下参数 pid。
为了实现这个目标,我们可以使用 QUERYCLEANER_REMOVE 或 QUERYCLEANER_KEEP
在第一种情况下,模式将是 cid|ttda
QUERYCLEANER_REMOVE = 'cid|ttda'
在第二种情况下,pid
QUERYCLEANER_KEEP = 'pid'
最佳解决方案取决于特定情况,即查询过滤器将如何影响蜘蛛预期提取的任何其他 URL。
项目详情
关闭
散列 for scrapy_querycleaner-1.0.0-py2.py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | a40002384a277db89797fcf6c029bec46b05642c1e646f1476385b803745b333 |
|
MD5 | 156fa3f1a03f8c64a1dad77c345e2778 |
|
BLAKE2b-256 | 802aa3d6b7779dff0932017fcbfdad4b67b710160e524ac2914103ee963dee71 |