Зареждане на прокси настройките на Scrapy в скрипт CrawlerProcess
Подайте get_project_settings() на CrawlerProcess, когато самостоятелен стартер трябва да използва същия междинен софтуер за изтегляне като scrapy crawl.
Един паяк може да използва очакваното прокси под 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 прокси, подадена чрез тези метаданни или среда.
Сравнете заредените настройки и активния междинен софтуер на стартера с изпълнението от командния ред. Ако съвпадат, продължете с прокси метаданните на избраната заявка и действителната транспортна грешка.