Učitavanje Scrapy proxy postavki u CrawlerProcess skriptu
Proslijedite get_project_settings() u CrawlerProcess kada samostalni pokretač treba koristiti isti downloader middleware kao scrapy crawl.
Pauk može koristiti očekivani proxy pod scrapy crawl i ići izravno kada ga pokreće Python skripta. Provjerite kako ta skripta gradi svoje postavke prije nego promijenite proxy poslužitelj.
Za postojeći Scrapy projekt i njegova registriranog pauka:
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()
Zamijenite catalog imenom pauka u projektu. Projekt mora biti otkriven kroz svoj scrapy.cfg ili kroz ispravno postavljen SCRAPY_SETTINGS_MODULE koji pokazuje na uvozivi modul postavki.
Samo stvaranje CrawlerProcess() ne uvozi datoteku postavki projekta samo zato što skripta također uvozi klasu pauka. Zbog toga prilagođeni middleware omogućen kroz DOWNLOADER_MIDDLEWARES može izostati iz tog pokretanja.
Učitavanje postavki daje konfigurirane komponente; ono ne izmišlja proxy adresu. Scrapyjev HTTP proxy middleware i dalje treba svoj uobičajeni proxy iz okruženja ili eksplicitnu vrijednost request.meta['proxy']. Provjerite da ga HTTPPROXY_ENABLED nije onemogućio. Za dopušteno indeksiranje javnih stranica popis HTTP proxyja nudi kandidate za vrijednost HTTP proxyja koja se dostavlja kroz te metapodatke ili okruženje.
Usporedite učitane postavke i aktivni middleware pokretača s pokretanjem iz naredbenog retka. Ako se podudaraju, nastavite s proxy metapodacima odabranog zahtjeva i stvarnom transportnom pogreškom.