R dilində httr-də proksiləri rotasiya etmək və yüklənmiş HTML-i analiz etmək
Hər httr sorğusunda proksi sətirlərini dəyişin və yüklənmiş baytları xml2 və rvest-ə ötürün.
Proksi seçimini yükləmə əməliyyatında saxlayın. httr səhifəni qaytardıqdan sonra URL-i başqa yükləyiciyə vermək əvəzinə həmin cavabın baytlarını analiz edin.
urls vektoru və host və tam ədəd port sütunları olan boş olmayan proxies data frame-i verildikdə:
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"))
}
İctimai vasitəçilərlə icazə verilən ictimai səhifə sorğuları üçün HTTP proksi siyahısı data frame-in host və port sütunları üçün namizədlər təqdim edir. İndeks birinci proksi sətrindən sonuncuya qədər dönür və yenidən başlayır. Hər çağırışın öz proksi konfiqurasiyası var; R prosesi işləməyə davam edə bilər.
Yaranan səhifələr analiz edilmiş HTML sənədləri saxlayır. rvest::html_elements və lazımi çıxarma funksiyalarını həmin sənədlərə tətbiq edin. Əvəzində read_html-ə URL vermək o yolun öz şəbəkə konfiqurasiyası ilə yeni yükləmə başladardı.
Doğrulanan proksilər üçün seçilmiş hesabı use_proxy-nin istifadəçi adı və parol arqumentləri ilə ötürün. Fərqli son nöqtə fərqli ictimai çıxış IP-si zəmanət vermir, ona görə hovuzu xidmətin faktiki çıxış davranışına görə seçin.