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 njegov registrovani pauk:

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.

Povezani članci