Načtení proxy nastavení Scrapy do skriptu CrawlerProcess
Předejte get_project_settings() do CrawlerProcess, když má samostatný spouštěč používat stejný middleware stahování jako scrapy crawl.
Pavouk může za scrapy crawl použít očekávanou proxy a při spuštění pythonovým skriptem jít přímo. Než změníte proxy server, zkontrolujte, jak tento skript sestavuje svá nastavení.
Pro existující projekt Scrapy a jeho registrovaného pavouka:
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()
Nahraďte catalog názvem pavouka v projektu. Projekt musí být dohledatelný přes svůj scrapy.cfg nebo přes správně nastavený SCRAPY_SETTINGS_MODULE odkazující na importovatelný modul nastavení.
Pouhé vytvoření CrawlerProcess() neimportuje soubor nastavení projektu jen proto, že skript také importuje třídu pavouka. Vlastní middleware povolený přes DOWNLOADER_MIDDLEWARES proto v daném běhu může chybět.
Načtení nastavení dodá nakonfigurované komponenty; nevymyslí adresu proxy. Middleware HTTP proxy v Scrapy stále potřebuje obvyklou proxy z prostředí nebo explicitní hodnotu request.meta['proxy']. Zkontrolujte, že ji HTTPPROXY_ENABLED nevypnul. Pro povolené procházení veřejných stránek seznam HTTP proxy nabízí kandidáty pro hodnotu HTTP proxy předanou přes tato metadata nebo prostředí.
Porovnejte načtená nastavení a aktivní middleware spouštěče s během z příkazového řádku. Pokud se shodují, pokračujte s metadaty proxy vybraného požadavku a skutečnou chybou přenosu.