R ၏ httr တွင် proxy များ လှည့်ပတ်အသုံးပြုပြီး ဒေါင်းလုဒ်ရယူထားသော HTML ကို ခွဲခြမ်းစိတ်ဖြာခြင်း
httr တောင်းဆိုမှုတိုင်းတွင် proxy အတန်းကို လဲလှယ်ပြီး ဒေါင်းလုဒ်ရယူထားသော byte များကို xml2 နှင့် rvest သို့ ပေးပို့ပါ။
proxy ရွေးချယ်မှုကို ဒေါင်းလုဒ်လုပ်ဆောင်ချက်တွင် ထားရှိပါ။ httr က စာမျက်နှာကို ပြန်ပေးပြီးနောက် URL ကို အခြား ဒေါင်းလုဒ်ကိရိယာသို့ မပေးဘဲ ထို တုံ့ပြန်ချက်၏ byte များကို ခွဲခြမ်းစိတ်ဖြာပါ။
vector urls တစ်ခုနှင့် host နှင့် ကိန်းပြည့် port ကော်လံများပါသော မဟာကွက် data frame proxies ကို ပေးထားလျှင်:
pages <- vector("list", length(urls))
stopifnot(nrow(proxies) > 0L)
for (i in seq_along(urls)) {
row <- ((i - 1L) %% nrow(proxies)) + 1L
response <- httr::GET(
urls[[i]],
httr::use_proxy(proxies$host[[row]], proxies$port[[row]]),
httr::timeout(30)
)
httr::stop_for_status(response)
pages[[i]] <- xml2::read_html(httr::content(response, as = "raw"))
}
အများပြည်သူ ကြားခံများမှတစ်ဆင့် ခွင့်ပြုထားသော အများပြည်သူ စာမျက်နှာ တောင်းဆိုမှုများအတွက် HTTP proxy စာရင်း က host နှင့် port ကော်လံများအတွက် ကိုယ်စားလှယ်လောင်းများ ပေးသည်။ အညွှန်းကို ပထမ proxy အတန်းမှ နောက်ဆုံးအထိ လှည့်ပြီး ပထမသို့ ပြန်သွားသည်။ ခေါ်ဆိုမှုတိုင်းတွင် ကိုယ်ပိုင် proxy ဆက်တင်ရှိသည်; R လုပ်ငန်းစဉ် ဆက်လက်လုပ်ဆောင်နိုင်သည်။
ရရှိသော စာမျက်နှာများတွင် ခွဲခြမ်းစိတ်ဖြာပြီးသော HTML စာရွက်စာတမ်းများ ပါဝင်သည်။ ထို စာရွက်စာတမ်းများအပေါ် rvest::html_elements နှင့် လိုအပ်သော ထုတ်ယူမှု လုပ်ဆောင်ချက်များကို အသုံးပြုပါ။ အစား URL ကို read_html သို့ ပေးပါက ထို လမ်းကြောင်း၏ ကိုယ်ပိုင် ကွန်ရက် ဆက်တင်ဖြင့် ရယူမှုအသစ် စတင်မည်။
အထောက်အထားစစ်ဆေးထားသော proxy များအတွက် ရွေးချယ်ထားသော အကောင့်ကို use_proxy ၏ username နှင့် password အငြင်းပုဒ်များမှတစ်ဆင့် ပေးပို့ပါ။ ကွဲပြားသော endpoint သည် ကွဲပြားသော အများပြည်သူ ထွက်ပေါက် IP ကို အာမမခံပါ၊ ထို့ကြောင့် ဝန်ဆောင်မှု၏ အမှန်တကယ် ထွက်ပေါက် အပြုအမူအရ pool ကို ရွေးပါ။