python - examples - ¿Cómo forzar a scrapy a rastrear la URL duplicada?
web scraping python examples (2)
Probablemente esté buscando el argumento dont_filter=True
en Request()
. Ver http://doc.scrapy.org/en/latest/topics/request-response.html#request-objects
Estoy aprendiendo Scrapy un marco de rastreo web.
de forma predeterminada, no rastrea las direcciones URL duplicadas o las que scrapy ya ha rastreado.
¿Cómo hacer que Scrapy rastree las URL duplicadas o las que ya se han rastreado?
Intenté averiguarlo en internet pero no pude encontrar ayuda relevante.
Encontré DUPEFILTER_CLASS = RFPDupeFilter
y SgmlLinkExtractor
de Scrapy - Spider rastrea las URL duplicadas pero esta pregunta es opuesta a la que estoy buscando
Una solución más elegante es deshabilitar el filtro duplicado por completo:
# settings.py
DUPEFILTER_CLASS = ''scrapy.dupefilters.BaseDupeFilter''
De esta manera, no tiene que saturar todo el código de creación de su Solicitud con dont_filter=True
. Otro efecto secundario: esto solo desactiva el filtrado duplicado y no otros filtros como el filtrado externo.
Si desea utilizar esta configuración de forma selectiva solo para una o varias arañas en su proyecto, puede establecerla a través de custom_settings
en la implementación de la araña:
class MySpider(scrapy.Spider):
name = ''myspider''
custom_settings = {
''DUPEFILTER_CLASS'': ''scrapy.dupefilters.BaseDupeFilter'',
}