Cargar a configuración de proxy de Scrapy nun script CrawlerProcess
Pasa get_project_settings() a CrawlerProcess cando un lanzador autónomo deba usar o mesmo middleware de descarga que scrapy crawl.
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.