Eng Spann kann dee erwaarten Proxy ënner scrapy crawl benotzen an geet direkt, wann se vun engem Python-Skript gestart gëtt. Kuckt wéi dee Skript seng Astellungen opbaut, ier Dir de Proxyserver ännert.

Fir en existéierende Scrapy-Projet an seng registréiert Spann:

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()

Ersetzt catalog duerch den Numm vun der Spann vum Projet. De Projet muss iwwer säin scrapy.cfg ze fannen sinn, oder iwwer ee richteg agesaten SCRAPY_SETTINGS_MODULE, deen op en importierbare Justagenmodul weist.

Nëmmen CrawlerProcess() ze bauen importéiert d'Justagendatei vum Projet net just well de Skript och eng Spanneklass importéiert. Dofir kann e personaliséierte Middleware, deen duerch DOWNLOADER_MIDDLEWARES aktivéiert ass, an där Ausféierung fehlen.

D'Astellunge lueden liwwert déi konfiguréiert Komponenten; et erfinnt keng Proxyadress. Dem Scrapy säin HTTP-Proxy-Middleware brauch weiderhin säin normale Ëmfeldproxy oder en explizitte request.meta['proxy']-Wäert. Kuckt datt HTTPPROXY_ENABLED en net desaktivéiert huet. Fir eng erlaabte Crawl vu ëffentleche Säiten bitt d'HTTP-Proxy-Lëscht Kandidaten fir en HTTP-Proxy-Wäert, deen iwwer déi Metadaten oder d'Ëmfeld geliwwert gëtt.

Vergläicht d'gelueden Astellungen an den aktive Middleware vum Starter mat der Ausféierung vun der Kommandozeil. Wa se passen, fuert weider mat de Proxy-Metadaten vun der gewielter Ufro an dem tatsächlechen Transportfehler.

Ähnlech Artikelen