Proxy's rotearje yn httr fan R en de omleech helle HTML parsearje
Wikselje by elk httr-fersyk fan proxy-rige en jou de omleech helle bytes troch oan xml2 en rvest.
Hâld de proxykar by de ynlaadbewurking. Nei't httr de side weromjûn hat, parsearje de bytes fan dat antwurd ynstee fan de URL oan in oare downloader te jaan.
Jûn in fektor urls en in net-lege data frame proxies mei host- en hielgetal-port-kolommen:
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"))
}
Foar oanfragen nei iepenbiere siden dy't tastien binne fia iepenbiere tuskenpersoanen, leveret de HTTP-proxylist kandidaten foar de host- en port-kolommen. De yndeks rint fan de earste proxy-rige oant de lêste en begjint dan wer foaroan. Elke oprop hat syn eigen proxykonfiguraasje; it R-proses kin trochrinne.
De resultearjende siden befetsje parsearre HTML-dokuminten. Pas rvest::html_elements en de nedige ekstraksjefunksjes ta op dy dokuminten. In URL oan read_html jaan soe ynstee in nije ophaal starte mei de eigen netwurkkonfiguraasje fan dat paad.
Foar autentisearre proxy's jouwe jo it keazen akkount troch de arguminten username en password fan use_proxy. In oar einpunt garandearret net in oare iepenbiere útgongs-IP, kies dêrom de pool neffens it werklike útgongsgedrach fan 'e tsjinst.