Načítanie proxy nastavení Scrapy do skriptu CrawlerProcess
Odovzdajte get_project_settings() do CrawlerProcess, keď má samostatný spúšťač používať rovnaký middleware sťahovania ako scrapy crawl.
Pavúk môže pod scrapy crawl používať očakávanú proxy a pri spustení pythonovým skriptom ide priamo. Pred zmenou proxy servera skontrolujte, ako tento skript zostavuje svoje nastavenia.
Pre existujúci projekt Scrapy a jeho registrovaného pavúka:
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ázvom pavúka v projekte. Projekt musí byť dohľadateľný cez svoj scrapy.cfg alebo cez správne nastavený SCRAPY_SETTINGS_MODULE odkazujúci na importovateľný modul nastavení.
Samotné vytvorenie CrawlerProcess() neimportuje súbor nastavení projektu len preto, že skript importuje aj triedu pavúka. Vlastný middleware povolený cez DOWNLOADER_MIDDLEWARES preto v tomto spustení môže chýbať.
Načítanie nastavení dodá nakonfigurované komponenty; nevymýšľa adresu proxy. Middleware HTTP proxy v Scrapy stále potrebuje obvyklú proxy z prostredia alebo explicitnú hodnotu request.meta['proxy']. Skontrolujte, či ju HTTPPROXY_ENABLED nevypol. Pre povolené prechádzanie verejných stránok zoznam HTTP proxy ponúka kandidátov pre hodnotu HTTP proxy odovzdávanú cez tieto metadáta alebo prostredie.
Porovnajte načítané nastavenia a aktívny middleware spúšťača so spustením z príkazového riadka. Ak sa zhodujú, pokračujte s metadátami proxy vybraného žiadania a skutočnou chybou prenosu.