Lataa Scrapy-välityspalvelinasetukset CrawlerProcess-skriptiin
Anna get_project_settings() CrawlerProcessille, kun itsenäisen käynnistimen pitää käyttää samaa latauksen väliohjelmistoa kuin scrapy crawl.
Hämähäkki voi käyttää odotettua välityspalvelinta scrapy crawl-komennon alla ja mennä suoraan, kun sen käynnistää Python-skripti. Tarkista, miten skripti rakentaa asetuksensa, ennen kuin vaihdat välityspalvelinta.
Olemassa olevalle Scrapy-projektille ja sen rekisteröidylle hämähäkille:
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()
Korvaa catalog projektin hämähäkin nimellä. Projektin on löydyttävä scrapy.cfg-tiedostonsa kautta tai oikein asetetun, tuotavaan asetusmoduuliin osoittavan SCRAPY_SETTINGS_MODULE-muuttujan kautta.
Pelkkä CrawlerProcess()-olion luonti ei tuo projektin asetustiedostoa vain siksi, että skripti tuo myös hämähäkkiluokan. Siksi DOWNLOADER_MIDDLEWARES-asetuksella käytössä oleva mukautettu väliohjelmisto voi puuttua kyseisestä ajosta.
Asetusten lataaminen tarjoaa määritetyt komponentit; se ei keksi välityspalvelimen osoitetta. Scrapyn HTTP-välityspalvelimen väliohjelmisto tarvitsee edelleen tavallisen ympäristön välityspalvelimen tai eksplisiittisen request.meta['proxy']-arvon. Tarkista, ettei HTTPPROXY_ENABLED ole poistanut sitä käytöstä. Sallittuun julkisten sivujen ryömintään HTTP-välityspalvelinlista tarjoaa ehdokkaita HTTP-välityspalvelimen arvolle, joka välitetään näiden metatietojen tai ympäristön kautta.
Vertaa käynnistimen lataamia asetuksia ja aktiivista väliohjelmistoa komentoriviajoon. Jos ne täsmäävät, jatka valitun pyynnön välityspalvelinmetatiedoilla ja todellisella siirtovirheellä.