Scrapy ရဲ့ ပရောက်ဆီ အဆုံးမှတ်နှင့် ချိတ်ဆက်မှု IP ကို ဖတ်ခြင်း
ရွေးချယ်ထားသော ပရောက်ဆီအတွက် တောင်းဆိုမှု မက်တာဒေတာကို အသုံးပြုပြီး response.ip_address ကို ဟန်းဒလာက ပေးသော ပီယာ အချက်အလက်အဖြစ် သတ်မှတ်ကာ ဦးတည်ရာတွင် ထွက်ပေါက် IP ကို စစ်ဆေးပါ။
ရွေးချယ်ထားသော လမ်းကြောင်းကို စစ်ဆေးရန် ပြီးစီးသော တုံ့ပြန်မှုနှင့် တွဲထားသော Request ကို အသုံးပြုပါ။ လေ့လာတွေ့ရှိချက် သုံးခုကို သီးခြားထားပါ။
| အကွက် | အဓိပ္ပာယ် |
|---|---|
response.request.meta.get('proxy') | ဤတောင်းဆိုမှု၏ ရွေးချယ်ထားသော ပရောက်ဆီ URL (ရှိပါက) |
response.ip_address | ဒေါင်းလုဒ် ဟန်းဒလာက ပေးသော လိပ်စာ၊ None ဖြစ်နိုင်သည် |
| ယုံကြည်ရသော ဦးတည်ရာမှ ရင်းမြစ် အစီရင်ခံစာ | ထိုနေရာတွင် တွေ့ရှိရသော အများပြည်သူ ရင်းမြစ် |
Callback အတွင်းတွင် အထောက်အထား ပါဝင်သော URL အပိုင်းများကို ပုံမှန် စစ်ဆေးမှုမှ ချန်လှပ်ပါ။
from urllib.parse import urlsplit
proxy = response.request.meta.get('proxy')
proxy_host = urlsplit(proxy).hostname if proxy else None
self.logger.info(
'target_host=%s proxy_host=%s peer_ip=%s',
urlsplit(response.url).hostname, proxy_host, response.ip_address,
)Scrapy 2.13.3 ၏ HTTP/1.1 ဟန်းဒလာတွင် လိပ်စာသည် တုံ့ပြန်မှု၏ ချိတ်ဆက်မှု ပီယာမှ လာပြီး ထွက်ပေါက် IP ဝန်ဆောင်မှုမှ မဟုတ်ပါ။ အချို့လမ်းကြောင်းများ၊ အရှည်သုည တုံ့ပြန်မှုများ အပါအဝင်၊ ၎င်းကို None ထားနိုင်သည်။ အခြား ဟန်းဒလာများက မတူညီစွာ ဖြည့်နိုင်သည်။ None ကိုယ်တိုင် တိုက်ရိုက် လမ်းကြောင်းကို သက်သေမပြပါ။
ထွက်ပေါက် စစ်ဆေးမှုအတွက် ရည်ရွယ်ထားသော ပရောက်ဆီ မူဝါဒအောက်တွင် ယုံကြည်ရသော အဆုံးမှတ်ကို မေးပါ ပြီး တောင်းဆိုမှု၏ အထောက်အထားကို လေ့လာတွေ့ရှိချက်နှင့် အတူ သိမ်းထားပါ။ လှည့်ပတ်သော မစ်ဒယ်ဝဲလ်က နောက်ထပ် စစ်ဆေးမှုကို အခြား အဆုံးမှတ် ပေးနိုင်သည်။
ပြန်ညွှန်မှုများကလည်း နောက်ထပ် တောင်းဆိုမှု တစ်ခု ဖန်တီးသည်။ နောက်ဆုံး မက်တာဒေတာက ထို အဆင့်ကို ဖော်ပြသည်။ ပထမ URL ၏ လမ်းကြောင်းအတွက် သက်သေအဖြစ် မယူဆဘဲ ပြန်ညွှန်မှု မှတ်တမ်းနှင့် မစ်ဒယ်ဝဲလ်၏ ပြန်ရွေးချယ်မှု တစ်စုံတစ်ရာကို စစ်ဆေးပါ။