ပင့်ကူတစ်ကောင်သည် 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 ပရောက်စီ တန်ဖိုးအတွက် ကိုယ်စားလှယ်လောင်းများကို ပေးသည်။

လွှတ်တင်ကိရိယာ၏ ဖွင့်ထားသော ဆက်တင်များနှင့် အသက်ဝင်သော ကြားခံကို ကွန်မန့်လိုင်း လည်ပတ်မှုနှင့် နှိုင်းယှဉ်ပါ။ ကိုက်ညီပါက ရွေးချယ်ထားသော တောင်းဆိုချက်၏ ပရောက်စီ မက်တာဒေတာနှင့် အမှန်တကယ် သယ်ယူပို့ဆောင်ရေး အမှားနှင့်အတူ ဆက်လုပ်ပါ။

ဆက်စပ်ဆောင်းပါးများ