【发布时间】:2012-09-15 05:01:45
【问题描述】:
我正在使用带有 CrawlSpider 的 scrapy 为网站编写爬虫。
Scrapy 提供了一个内置的重复请求过滤器,它根据 url 过滤重复请求。另外,我可以使用 CrawlSpider 的 rules 成员过滤请求。
我想要做的是过滤请求:
http:://www.abc.com/p/xyz.html?id=1234&refer=5678
如果我已经去过
http:://www.abc.com/p/xyz.html?id=1234&refer=4567
注意:refer 是一个不会影响我得到的响应的参数,所以我不在乎该参数的值是否发生变化。
现在,如果我有一个集合所有 ids 我可以在我的回调函数 parse_item (这是我的回调函数)中忽略它以实现此功能。
但这意味着我至少仍在获取该页面,而我不需要。
那么我可以通过什么方式告诉 scrapy 它不应该根据 url 发送特定请求?
【问题讨论】:
标签: python web-crawler scrapy