Սարդը կարող է օգտագործել սպասվող պրոքսին 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-ով միացված հատուկ միջնորդ ծրագիրը կարող է բացակայել այդ աշխատանքից։

Կարգավորումների բեռնումը տալիս է կազմաձևված բաղադրիչները. այն պրոքսի հասցե չի հորինում։ Scrapy-ի HTTP պրոքսի միջնորդ ծրագիրը դեռ պետք է իր սովորական միջավայրի պրոքսին կամ բացահայտ request.meta['proxy'] արժեք։ Ստուգե՛ք, որ HTTPPROXY_ENABLED-ը չի անջատել այն։ Թույլատրված հանրային էջերի սկանավորման համար HTTP պրոքսիների ցանկը առաջարկում է թեկնածուներ այդ մետատվյալներով կամ միջավայրով տրվող HTTP պրոքսի արժեքի համար։

Համեմատե՛ք գործարկիչի բեռնված կարգավորումները և ակտիվ միջնորդ ծրագիրը հրամանի տողից աշխատանքի հետ։ Եթե դրանք համընկնում են, շարունակե՛ք ընտրված հարցման պրոքսի մետատվյալներով և փաստացի փոխադրման սխալով։

Առնչվող հոդվածներ