Един паяк може да използва очакваното прокси под scrapy crawl и да мине директно, когато е стартиран от Python скрипт. Проверете как този скрипт изгражда настройките си, преди да променяте прокси сървъра.

За съществуващ проект Scrapy и неговия регистриран паяк:

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

Заменете catalog с името на паяка в проекта. Проектът трябва да е откриваем чрез своя scrapy.cfg или чрез правилно зададен SCRAPY_SETTINGS_MODULE, сочещ към импортируем модул с настройки.

Създаването само на CrawlerProcess() не импортира файла с настройки на проекта само защото скриптът също импортира клас паяк. Затова персонализиран междинен софтуер, включен от DOWNLOADER_MIDDLEWARES, може да липсва в това изпълнение.

Зареждането на настройките предоставя конфигурираните компоненти; то не измисля прокси адрес. Междинният софтуер за HTTP прокси на Scrapy все още се нуждае от обичайното прокси от средата или от явна стойност request.meta['proxy']. Проверете дали HTTPPROXY_ENABLED не го е изключил. За разрешено обхождане на публични страници списъкът с HTTP проксита дава кандидати за стойност на HTTP прокси, подадена чрез тези метаданни или среда.

Сравнете заредените настройки и активния междинен софтуер на стартера с изпълнението от командния ред. Ако съвпадат, продължете с прокси метаданните на избраната заявка и действителната транспортна грешка.

Подобни статии