Scrapy прокси жөндөөлөрүн CrawlerProcess скриптине жүктөө
Өз алдынча иштеткич scrapy crawl сыяктуу эле жүктөө middleware колдонушу керек болсо, get_project_settings() функциясын CrawlerProcessке бериңиз.
Жөргөмүш 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ин буйрук сабынан иштетүү менен салыштырыңыз. Эгер дал келсе, тандалган суроонун прокси метаберилиштери жана чыныгы транспорт катасы менен улантыңыз.