Scrapy starpniekservera iestatījumu ielāde CrawlerProcess skriptā
Nododiet get_project_settings() uz CrawlerProcess, ja patstāvīgam palaidējam jāizmanto tā pati lejupielādes starpprogrammatūra kā scrapy crawl.
Zirneklis var izmantot gaidīto starpniekserveri sadaļā scrapy crawl un doties tieši, ja to palaiž Python skripts. Pirms starpniekservera maiņas pārbaudiet, kā šis skripts veido savus iestatījumus.
Esošam Scrapy projektam un tā reģistrētajam zirneklim:
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()
Aizstājiet catalog ar projekta zirnekļa nosaukumu. Projektam jābūt atrodamam ar tā scrapy.cfg vai ar pareizi iestatītu SCRAPY_SETTINGS_MODULE, kas norāda uz importējamu iestatījumu moduli.
Tikai CrawlerProcess() izveide neimportē projekta iestatījumu failu tikai tāpēc, ka skripts importē arī zirnekļa klasi. Tāpēc pielāgota starpprogrammatūra, kas iespējota ar DOWNLOADER_MIDDLEWARES, šajā palaidē var nebūt.
Iestatījumu ielāde nodrošina konfigurētās sastāvdaļas; tā neizdomā starpniekservera adresi. Scrapy HTTP starpniekservera starpprogrammatūrai joprojām ir vajadzīgs parastais vides starpniekserveris vai skaidra request.meta['proxy'] vērtība. Pārbaudiet, vai HTTPPROXY_ENABLED to nav atslēdzis. Atļautai publisku lapu pārlūkošanai HTTP starpniekserveru saraksts piedāvā kandidātus HTTP starpniekservera vērtībai, kas tiek nodota ar šiem metadatiem vai vidi.
Salīdziniet palaidēja ielādētos iestatījumus un aktīvo starpprogrammatūru ar komandrindas palaišanu. Ja tie sakrīt, turpiniet ar izvēlētā pieprasījuma starpniekservera metadatiem un faktisko pārsūtīšanas kļūdu.