Scrapy ۋاكالەتچى تەڭشەكلىرىنى CrawlerProcess ھۆججىتىگە يۈكلەش
مۇستەقىل قوزغاتقۇچ scrapy crawl غا ئوخشاش قاچىلاش ئارىلىق قاتلامىنى ئىشلەتكەندە 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 ئارقىلىق ئاكتىپلانغان خاس ئارىلىق قاتلام بۇ قېتىملىق ئىجرادا بولماسلىقى مۇمكىن.
تەڭشەكلەرنى يۈكلەش سەپلەنگەن زاپچاسلارنى تەمىنلەيدۇ؛ ئۇ ۋاكالەتچى ئادرېسىنى ئويدۇرمايدۇ. Scrapy نىڭ HTTP ۋاكالەتچى ئارىلىق قاتلىمى يەنىلا ئادەتتىكى مۇھىت ۋاكالەتچىسى ياكى ئېنىق request.meta['proxy'] قىممىتىگە موھتاج. HTTPPROXY_ENABLED نىڭ ئۇنى چەكلىمىگەنلىكىنى تەكشۈرۈڭ. رۇخسەت قىلىنغان ئاممىۋى بەتلىرىنى ئاختۇرۇش ئۈچۈن HTTP ۋاكالەتچى تىزىملىكى شۇ مېتا سانلىق مەلۇمات ياكى مۇھىت ئارقىلىق بېرىلگەن HTTP ۋاكالەتچى قىممىتى ئۈچۈن نامزاتلارنى تەمىنلەيدۇ.
قوزغاتقۇچنىڭ يۈكلەنگەن تەڭشەكلىرى ۋە ئاكتىپ ئارىلىق قاتلىمىنى بۇيرۇق قۇرىدىن ئىجرا قىلىش بىلەن سېلىشتۇرۇڭ. ئۇلار ماس كەلسە، تاللانغان تەلەپنىڭ ۋاكالەتچى مېتا سانلىق مەلۇماتى ۋە ھەقىقىي يۆتكەش خاتالىقى بىلەن داۋاملاشتۇرۇڭ.