Rotacii prokurojn en httr de R kaj analizi la elŝutitan HTML
Ciklu tra prokuraj vicoj ĉe ĉiu httr-peto kaj transdonu la elŝutitajn bajtojn al xml2 kaj rvest.
Tenu la prokuran elekton ĉe la elŝuta operacio. Post kiam httr redonis la paĝon, analizu la bajtojn de tiu respondo anstataŭ transdoni la URL-on al alia elŝutilo.
Donita vektoro urls kaj ne malplena datumkadro proxies kun kolumnoj host kaj entjera port:
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"))
}
Por petoj al publikaj paĝoj permesitaj tra publikaj perantoj, la listo de HTTP-prokuriloj liveras kandidatojn por la kolumnoj host kaj port. La indekso ciklas de la unua prokura vico ĝis la lasta kaj reiras al la komenco. Ĉiu voko havas sian propran prokuran agordon; la R-procezo povas daŭre funkcii.
La rezultaj paĝoj enhavas analizitajn HTML-dokumentojn. Apliku rvest::html_elements kaj la necesajn eltirajn funkciojn al tiuj dokumentoj. Transdoni URL-on al read_html anstataŭe komencus novan akiron kun la propra reta agordo de tiu vojo.
Por aŭtentikitaj prokuroj, transdonu la elektitan konton per la argumentoj username kaj password de use_proxy. Malsama finpunkto ne garantias malsaman publikan eliran IP, do elektu la naĝejon laŭ la reala elira konduto de la servo.