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.

Povezani članci