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 direktno kada ga pokreće Python skripta. Provjerite kako ta skripta gradi svoje postavke prije nego promijenite proxy server.
Za postojeći Scrapy projekat i njegovog registrovanog 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. Projekat mora biti otkriven kroz svoj scrapy.cfg ili kroz ispravno postavljen SCRAPY_SETTINGS_MODULE koji pokazuje na uvozivi modul postavki.
Samo kreiranje 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 konfigurisane 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 dozvoljeno indeksiranje javnih stranica lista HTTP proxyja nudi kandidate za vrijednost HTTP proxyja koja se dostavlja kroz te metapodatke ili okruženje.
Uporedite učitane postavke i aktivni middleware pokretača s pokretanjem iz komandne linije. Ako se poklapaju, nastavite s proxy metapodacima odabranog zahtjeva i stvarnom transportnom greškom.