jpl*_*ssn 2 python scrapy scrapy-spider
是否可以将 Scrapy 蜘蛛配置为忽略访问过的 URL 中的 URL 参数,以便在已经访问www.example.com/page?p=value2过的情况下不会被访问www.example.com/page?p=value1?
你不能配置它,但根据文档,你可以子类化标准重复过滤器类并覆盖它的request_fingerprint方法。
这没有经过测试,但应该可以工作。第一个子类标准重复过滤器类(例如dupefilters.py):
from w3lib.url import url_query_cleaner
from scrapy.dupefilters import RFPDupeFilter
from scrapy.utils.request import request_fingerprint
class MyRFPDupeFilter(RFPDupeFilter):
def request_fingerprint(self, request):
new_request = request.replace(url=url_query_cleaner(request.url))
return request_fingerprint(new_request)
Run Code Online (Sandbox Code Playgroud)
设置DUPEFILTER_CLASS为您的班级settings.py:
DUPEFILTER_CLASS = 'myproject.dupefilters.MyRFPDupeFilter'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
640 次 |
| 最近记录: |