Unha araña pode usar o proxy esperado baixo scrapy crawl e ir directamente cando a lanza un script de Python. Comproba como constrúe os seus axustes ese script antes de cambiar o servidor proxy.

Para un proxecto Scrapy existente e a súa araña rexistrada:

from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings

settings = get_project_settings()
process = CrawlerProcess(settings=settings)
process.crawl('catalog')
process.start()

Substitúe catalog polo nome da araña do proxecto. O proxecto debe ser localizable mediante o seu scrapy.cfg ou mediante un SCRAPY_SETTINGS_MODULE ben definido que apunte a un módulo de axustes importable.

Construír só CrawlerProcess() non importa o ficheiro de axustes do proxecto polo simple feito de que o script tamén importe unha clase de araña. Por iso, un middleware personalizado habilitado por DOWNLOADER_MIDDLEWARES pode faltar nesa execución.

Cargar os axustes fornece os compoñentes configurados; non inventa un enderezo de proxy. O middleware de proxy HTTP de Scrapy segue necesitando o seu proxy de contorno habitual ou un valor explícito de request.meta['proxy']. Comproba que HTTPPROXY_ENABLED non o desactivou. Para un rastrexo permitido de páxinas públicas, a lista de proxies HTTP ofrece candidatos para un valor de proxy HTTP fornecido mediante eses metadatos ou o contorno.

Compara os axustes cargados e o middleware activo do lanzador coa execución por liña de ordes. Se coinciden, continúa cos metadatos de proxy da solicitude seleccionada e co erro de transporte real.

Artigos relacionados