Pidä välityspalvelimen valinta lataustoiminnossa. Kun httr on palauttanut sivun, jäsennä kyseisen vastauksen tavut sen sijaan, että antaisit URL:n toiselle lataajalle.

Kun käytössä on vektori urls ja ei-tyhjä data frame proxies, jossa on host- ja kokonaisluku-port-sarakkeet:

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"))
}

Julkisten sivujen pyynnöille, jotka on sallittu julkisten välittäjien kautta, HTTP-välityspalvelinluettelo tarjoaa ehdokkaita data framen host- ja port-sarakkeisiin. Indeksi kiertää ensimmäisestä välityspalvelinrivistä viimeiseen ja palaa alkuun. Jokaisella kutsulla on oma välityspalvelinasetuksensa; R-prosessi voi jatkaa toimintaansa.

Tuloksena olevat sivut sisältävät jäsennettyjä HTML-dokumentteja. Käytä niihin rvest::html_elements-funktiota ja tarvittavia poimintafunktioita. URL:n antaminen read_html-funktiolle käynnistäisi sen sijaan uuden noutokerran kyseisen polun omilla verkkoasetuksilla.

Todennetuille välityspalvelimille välitä valittu tili use_proxyn username- ja password-argumenteilla. Toinen päätepiste ei takaa toista julkista lähtö-IP:tä, joten valitse allas palvelun todellisen lähtökäyttäytymisen mukaan.

Aiheeseen liittyvät artikkelit