我正在使用带有 CrawlSpider 的 scrapy 为网站编写爬虫。
Scrapy 提供了一个内置的重复请求过滤器,它根据 url 过滤重复请求。此外,我可以使用CrawlSpider 的规则成员过滤请求。
我想要做的是过滤请求,例如:
http:://www.abc.com/p/xyz.html?id=1234&refer=5678
如果我已经访问过
http:://www.abc.com/p/xyz.html?id=1234&refer=4567
注意: refer 是一个不影响我得到的响应的参数,所以我不在乎该参数的值是否发生变化。
现在,如果我有一个累积所有id的集合,我可以在我的回调函数parse_item(这是我的回调函数)中忽略它来实现这个功能。
但这意味着当我不需要时,我至少仍然在获取该页面。
那么我可以告诉scrapy它不应该根据url发送特定请求的方式是什么?