ပိတ်ဆို့နေသော proxy pool ရှာဖွေမှုက Scrapy ကို ရပ်တန့်စေနိုင်သည်
Synchronous proxy pool API ခေါ်ဆိုမှုကို Scrapy ၏ event-loop လမ်းကြောင်းပြင်ပတွင် ထားရှိပြီး endpoint ရှာဖွေမှုကို ၎င်း၏ကိုယ်ပိုင် မအောင်မြင်မှု မူဝါဒ ပေးပါ။
crawler တွင် လုံလောက်သော တစ်ပြိုင်နက်တည်း တောင်းဆိုမှုများ သတ်မှတ်ထားသည်။ သို့သော် proxy pool မှ အခြားလိပ်စာကို တောင်းတိုင်း ရပ်တန့်သွားသည်။ proxy များ ထပ်ထည့်ခြင်းက ထိုရပ်တန့်မှုကို မထိခိုက်ပါ။
အသုံးများသော middleware ပုံစံသည် requests.get(pool_url) ကို process_request() အတွင်း ခေါ်ဆိုသည်။ ၎င်းသည် Scrapy ၏ အညီအမျှ မဟုတ်သော engine နှင့် ပူးပေါင်းဆောင်ရွက်ရမည့် လမ်းကြောင်းရှိ synchronous ကွန်ရက် လုပ်ဆောင်ချက် ဖြစ်သည်။ ခေါ်ဆိုမှု စောင့်ဆိုင်းနေစဉ် တူညီသော event-loop thread ရှိ မသက်ဆိုင်သော အလုပ်များကို ဟန့်တားနိုင်သည်။
အလုပ်တွင် တောင်းဆိုမှု နှစ်ခု ရှိသည်
တစ်ခုက pool ဝန်ဆောင်မှုမှ endpoint ရယူသည်။ ကျန်တစ်ခုက ထို endpoint ကို အသုံးပြု၍ ဦးတည်ရာသို့ ဆက်သွယ်သည်။ ၎င်းတို့ကို သီးခြား တိုင်းတာ အစီရင်ခံပါ။ နှေးကွေးသော pool API သည် အပလီကေးရှင်း မချိတ်ဆက်ရသေးမီကပင် ရွေးချယ်ထားသော proxy တိုင်းကို နှေးကွေးသကဲ့သို့ ပြသနိုင်သည်။
ထည့်သွင်းထားသော Scrapy ဗားရှင်း ပံ့ပိုးသော အညီအမျှ မဟုတ်သော ရှာဖွေမှု ပေါင်းစပ်မှုကို အသုံးပြုပါ၊ သို့မဟုတ် တောင်းဆိုမှုတစ်ခုစီ၏ အရေးပါသော လမ်းကြောင်းပြင်ပတွင် ကန့်သတ်ထားသော ဒေသတွင်း endpoint အစုကို ရယူပြီး ပြန်လည်ဆန်းသစ်ပါ။ ပိတ်ဆို့သော အလုပ်ကို ရွှေ့ရမည်ဆိုပါက ထို executor ကို ၎င်း၏ကိုယ်ပိုင် ကန့်သတ်ချက်များနှင့် အချိန်ကုန်ဆုံးမှု ကိုင်တွယ်မှု ပေးပါ။ အကန့်အသတ်မဲ့ တန်းစီခြင်းသည် နှောင့်နှေးမှု၏ နေရာကို ရွှေ့ပေးရုံသာ ဖြစ်သည်။
တောင်းဆိုမှုတစ်ခုစီအတွက် အလိုအလျောက် နောက်ထပ် ရှာဖွေမှု ခေါ်ဆိုမှု မထုတ်ပါနှင့်။ ကာလတို cache သို့မဟုတ် ငှားထားသော batch သည် ၎င်း၏ သက်တမ်းက ဝန်ဆောင်မှု၏ အမှန်တကယ် endpoint မူဝါဒနှင့် ကိုက်ညီပါက pool ဝန်ဆောင်မှုအပေါ် မှီခိုမှုကို လျှော့ချနိုင်သည်။
မအောင်မြင်သော ရှာဖွေမှု၏ အဓိပ္ပာယ်ကို သတ်မှတ်ပါ
ဗလာ သို့မဟုတ် မအောင်မြင်သော pool တုံ့ပြန်မှုသည် proxy metadata ကို တိတ်ဆိတ်စွာ ဖယ်ရှားပြီး တိုက်ရိုက် တောင်းဆိုမှုကို ခွင့်မပြုသင့်ပါ။ ရှင်းလင်းသော ရလဒ်ကို ရွေးပါ။ အလုပ်၏ ဘတ်ဂျက်အတွင်း စောင့်ဆိုင်းခြင်း၊ မအောင်မြင်ခြင်း၊ သို့မဟုတ် အတည်ပြုထားသော cache လုပ်ထားသည့် endpoint ကို အသုံးပြုခြင်း ဖြစ်သည်။
pool API ၏ ကိုယ်ပိုင် လမ်းကြောင်းကိုလည်း ကွက်လပ်ထားပါ။ ၎င်းသည် အတွင်းပိုင်း ဝန်ဆောင်မှု ဖြစ်ပါက ၎င်း၏ သီးသန့် hostname ကို ရွေးချယ်ရာတွင် ကူညီသော proxy မှတစ်ဆင့် ပို့ခြင်းသည် စက်ဝိုင်း မှီခိုမှုကို ဖန်တီးနိုင်သည်။
ရှာဖွေမှုက မသက်ဆိုင်သော အလုပ်များကို မပိတ်ဆို့ဘဲ အလုပ်လုပ်ပြီးပါက သာမန် proxy အရောင်းအဝယ်ကို စစ်ဆေးပါ။ ၎င်းတို့သည် သီးခြား ပြုပြင်မှုများ ဖြစ်ပြီး ၎င်းတို့၏ အချိန်ကို log တွင် သီးခြား အကွက်များ ထိုက်တန်သည်။