Dawwar il-proxies fil-httr ta' R u tanalizza l-HTML li jitniżżel
Ibdel il-linja tal-proxy f'kull talba httr u għaddi l-bytes imniżżla lil xml2 u rvest.
Żomm l-għażla tal-proxy fl-operazzjoni tat-tniżżil. Wara li httr jirritorna l-paġna, analizza l-bytes ta' dik ir-risposta minflok ma tgħaddi l-URL lil downloader ieħor.
Jekk tingħata vettur urls u data frame proxies mhux vojta bil-kolonni host u port sħiħ:
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"))
}
Għat-talbiet tal-paġni pubbliċi permessi permezz ta' intermedjarji pubbliċi, il-lista tal-proxies HTTP tipprovdi kandidati għall-kolonni host u port. L-indeks idur mill-ewwel ringiela tal-proxy sal-aħħar u jerġa' lura għall-bidu. Kull sejħa għandha l-konfigurazzjoni tal-proxy tagħha; il-proċess R jista' jkompli għaddej.
Il-paġni li jirriżultaw fihom dokumenti HTML analizzati. Applika rvest::html_elements u l-funzjonijiet ta' estrazzjoni meħtieġa fuq dawk id-dokumenti. Li tgħaddi URL lil read_html minflok tibda ġibda ġdida bil-konfigurazzjoni tan-netwerk proprja ta' dak il-passaġġ.
Għall-proxies awtentikati, għaddi l-kont magħżul permezz tal-argumenti username u password ta' use_proxy. Endpoint differenti ma jiggarantixxix IP tal-ħruġ pubblika differenti, għalhekk agħżel il-pool skont l-imġiba tal-ħruġ attwali tas-servizz.