Last inn Scrapy-proxyinnstillingar i eit CrawlerProcess-skript
Send get_project_settings() til CrawlerProcess når ein frittståande oppstartar skal bruke same nedlastingsmiddleware som scrapy crawl.
Ein edderkopp kan bruke den venta proxya under scrapy crawl og gå direkte når han blir starta av eit Python-skript. Sjekk korleis skriptet byggjer innstillingane sine før du endrar proxyserveren.
For eit eksisterande Scrapy-prosjekt og den registrerte edderkoppen:
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()
Erstatt catalog med edderkoppnamnet til prosjektet. Prosjektet må kunne oppdagast via sin scrapy.cfg, eller via ein rett sett SCRAPY_SETTINGS_MODULE som peikar på ein importerbar innstillingsmodul.
Å byggje CrawlerProcess() åleine importerer ikkje innstillingsfila til prosjektet berre fordi skriptet òg importerer ein edderkoppklasse. Difor kan middleware som er slått på av DOWNLOADER_MIDDLEWARES mangla i den køyringa.
Innlasting av innstillingane gjev dei konfigurerte komponentane; ho finn ikkje opp ei proxyadresse. HTTP-proxymiddleware i Scrapy treng framleis den vanlege miljøproxya si eller ein eksplisitt request.meta['proxy']-verdi. Sjekk at HTTPPROXY_ENABLED ikkje har slått han av. For ei tillaten gjennomkøyring av offentlege sider tilbyr HTTP-proxylista kandidatar for ein HTTP-proxyverdi som blir levert via desse metadata eller miljøet.
Samanlikn innlasta innstillingar og aktiv middleware hjå oppstartaren med køyringa frå kommandolinja. Viss dei stemmer, hald fram med proxymetadataa til den valde førespurnaden og den faktiske transportfeilen.