Yíyí àwọn proxy káàkiri nínú httr ti R àti ṣíṣàyẹ̀wò HTML tí a gbà sílẹ̀
Yí ìlà proxy padà ní gbogbo ìbéèrè httr kí o sì fi àwọn byte tí a gbà sílẹ̀ ránṣẹ́ sí xml2 àti rvest.
Fi yíyan proxy sí inú iṣẹ́ gbígbà sílẹ̀ fúnra rẹ̀. Lẹ́yìn tí httr bá dá ojú-ìwé padà, ṣàyẹ̀wò àwọn byte ti ìdáhùn yẹn dípò fífi URL ránṣẹ́ sí ẹrọ gbígbà mìíràn.
Tí a bá fún ni ní vector urls àti data frame proxies tí kò ṣófo pẹ̀lú àwọn ìwọ̀n host àti port odidi:
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"))
}
Fún àwọn ìbéèrè ojú-ìwé gbogbo ènìyàn tí a gbà láàyè nípasẹ̀ àwọn alárinà gbogbo ènìyàn, àkójọ proxy HTTP ń pèsè àwọn olùdíje fún àwọn ìwọ̀n host àti port. Atọ́ka náà yí ká láti ìlà proxy àkọ́kọ́ dé ìkẹyìn, kí ó sì padà sí ìbẹ̀rẹ̀. Gbogbo ìpè ní ìṣètò proxy tirẹ̀; ìlànà R lè máa bá a lọ.
Àwọn ojú-ìwé tí ó jáde ní àwọn àkọsílẹ̀ HTML tí a ti ṣàyẹ̀wò. Lo rvest::html_elements àti àwọn iṣẹ́ ìyọrẹ́ tí ó yẹ lórí àwọn àkọsílẹ̀ wọ̀nyí. Fífi URL fún read_html lọ́nà mìíràn yóò bẹ̀rẹ̀ gbígbà tuntun pẹ̀lú ìṣètò nẹ́tíwọ́kì tirẹ̀ ti ọ̀nà yẹn.
Fún àwọn proxy tí a ti jẹ́rìí, fi àkọsílẹ̀ tí a yàn ránṣẹ́ nípasẹ̀ àwọn àríyànjiyàn username àti password ti use_proxy. Endpoint mìíràn kò dá IP jáde gbogbo ènìyàn mìíràn lójú; nítorí náà yan àkójọpọ̀ náà gẹ́gẹ́ bí ìhùwàsí jáde gidi ti iṣẹ́ náà.