Last inn Scrapy-proxyinnstillinger i et CrawlerProcess-skript
Send get_project_settings() til CrawlerProcess når en frittstående oppstarter skal bruke samme nedlastingsmiddleware som scrapy crawl.
En edderkopp kan bruke den forventede proxyen under scrapy crawl og gå direkte når den startes av et Python-skript. Sjekk hvordan skriptet bygger innstillingene sine før du endrer proxyserveren.
For et eksisterende Scrapy-prosjekt og dets registrerte edderkopp:
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 prosjektets edderkoppnavn. Prosjektet må kunne oppdages via sin scrapy.cfg, eller via en riktig satt SCRAPY_SETTINGS_MODULE som peker på en importerbar innstillingsmodul.
Å bygge CrawlerProcess() alene importerer ikke prosjektets innstillingsfil bare fordi skriptet også importerer en edderkoppklasse. Derfor kan middleware aktivert av DOWNLOADER_MIDDLEWARES mangle i den kjøringen.
Innlasting av innstillingene gir de konfigurerte komponentene; den finner ikke opp en proxyadresse. Scrapys HTTP-proxymiddleware trenger fortsatt sin vanlige miljøproxy eller en eksplisitt request.meta['proxy']-verdi. Sjekk at HTTPPROXY_ENABLED ikke har deaktivert den. For en tillatt gjennomgang av offentlige sider tilbyr HTTP-proxylisten kandidater for en HTTP-proxyverdi som leveres via disse metadataene eller miljøet.
Sammenlign oppstarterens innlastede innstillinger og aktive middleware med kommandolinjekjøringen. Hvis de stemmer, fortsett med proxy-metadataene til den valgte forespørselen og den faktiske transportfeilen.