Seachfhreastalaí a rothlú in httr R agus an HTML íoslódáilte a pharsáil
Rothlaigh sraitheanna seachfhreastalaí le gach iarratas httr agus cuir na bearta íoslódáilte chuig xml2 agus rvest.
Coinnigh roghnú an tseachfhreastalaí ar an oibríocht íoslódála. Nuair a bheidh an leathanach fillte ag httr, parsáil bearta an fhreagra sin seach an URL a chur chuig íoslódálaí eile.
Má thugtar veicteoir urls agus data frame neamhfholamh proxies le colúin host agus port slánuimhir:
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"))
}
Le haghaidh iarratas ar leathanaigh phoiblí a cheadaítear trí idirghabhálaithe poiblí, soláthraíonn an liosta seachfhreastalaithe HTTP iarrthóirí do na colúin host agus port. Rothlaíonn an t-innéacs ón gcéad ró seachfhreastalaí go dtí an ceann deireanach agus filltear ar an tús. Tá a chumraíocht seachfhreastalaí féin ag gach glao; is féidir leis an bpróiseas R leanúint ar aghaidh.
Bíonn doiciméid HTML pharsáilte sna leathanaigh a thagann as. Cuir rvest::html_elements agus na feidhmeanna eastósctha riachtanacha i bhfeidhm ar na doiciméid sin. Dá gcuirfí URL chuig read_html ina ionad, thosódh aisghabháil nua le cumraíocht líonra an chosáin sin féin.
Le haghaidh seachfhreastalaithe fíordheimhnithe, cuir an cuntas roghnaithe trí argóintí username agus password use_proxy. Ní ráthaíonn críochphointe difriúil IP amach poiblí difriúil, mar sin roghnaigh an linn de réir iompar amach iarbhír an tseirbhís.