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 ကို ရွေးပါ။

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