R'dagi httr da proksilarni almashtirish va yuklab olingan HTMLni tahlil qilish
Har bir httr so'rovida proksi qatorini almashtiring va yuklab olingan baytlarni xml2 hamda rvestga uzating.
Proksi tanlovini yuklab olish amalining o'zida saqlang. httr sahifani qaytargandan so'ng URLni boshqa yuklovchiga berish o'rniga o'sha javob baytlarini tahlil qiling.
urls vektori va host hamda butun sonli port ustunlari bo'lgan bo'sh bo'lmagan proxies data frame berilgan bo'lsin:
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"))
}
Ommaviy vositachilar orqali ruxsat etilgan ommaviy sahifa so'rovlari uchun HTTP proksilar ro'yxati host va port ustunlari uchun nomzodlar beradi. Indeks birinchi proksi qatoridan oxirgisigacha aylanadi va yana boshiga qaytadi. Har bir chaqiruvning o'z proksi konfiguratsiyasi bor; R jarayoni ishlashda davom etishi mumkin.
Olingan sahifalarda tahlil qilingan HTML hujjatlari bo'ladi. Ularga rvest::html_elements va kerakli ajratib olish funksiyalarini qo'llang. Buning o'rniga read_htmlga URL berilsa, o'sha yo'lning o'z tarmoq konfiguratsiyasi bilan yangi yuklash boshlanadi.
Autentifikatsiyalangan proksilar uchun tanlangan hisobni use_proxining username va password argumentlari orqali uzating. Boshqa endpoint boshqa ommaviy chiqish IPsini kafolatlamaydi, shuning uchun hovuzni xizmatning haqiqiy chiqish xatti-harakatiga qarab tanlang.