Өрмекші 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 арқылы қосылған теңшелетін middleware сол іске қосуда болмауы мүмкін.

Параметрлерді жүктеу конфигурацияланған құрамдастарды береді; ол прокси мекенжайын ойлап таппайды. Scrapy-дің HTTP прокси middleware әлі де әдеттегі орта проксиін немесе айқын request.meta['proxy'] мәнін қажет етеді. HTTPPROXY_ENABLED оны өшірмегенін тексеріңіз. Рұқсат етілген қоғамдық беттерді шолу үшін HTTP прокси тізімі сол метадеректер немесе орта арқылы берілетін HTTP прокси мәніне үміткерлерді ұсынады.

Іске қосқыштың жүктелген параметрлері мен белсенді middleware-ін пәрмен жолынан іске қосумен салыстырыңыз. Сәйкес келсе, таңдалған сұрауың прокси метадеректерімен және нақты тасымалдау қатесімен жалғастырыңыз.

Қатысты мақалалар