gpt4 book ai didi

python - 配置spider忽略url参数,这样scrapy就不会两次抓取同一个页面

转载 作者:行者123 更新时间:2023-12-05 01:01:06 25 4
gpt4 key购买 nike

是否可以将 Scrapy 蜘蛛配置为忽略访问过的 URL 中的 URL 参数,这样如果 www. example.com/page?p=value1 已经被访问过?

最佳答案

你不能配置它,但是按照 documentation ,您可以继承标准重复过滤器类并覆盖它的 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)

settings.py 中将 DUPEFILTER_CLASS 设置为您的类:

DUPEFILTER_CLASS = 'myproject.dupefilters.MyRFPDupeFilter'

关于python - 配置spider忽略url参数,这样scrapy就不会两次抓取同一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45939963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com