ۋاكالەتچى تاللاشنى چۈشۈرۈش مەشغۇلاتىنىڭ ئىچىدە ساقلاڭ. httr بەتنى قايتۇرغاندىن كېيىن URL نى باشقا چۈشۈرگۈچكە بېرىشنىڭ ئورنىغا شۇ جاۋابنىڭ بايتلىرىنى تەھلىل قىلىڭ.

بىر urls ۋېكتورى ۋە host بىلەن پۈتۈن سانلىق port ئىستونلىرى بار قۇرۇق بولمىغان data frame proxies بېرىلگەن:

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

ئاممىۋى ۋاسىتىچىلەر ئارقىلىق رۇخسەت قىلىنغان ئاممىۋى بەت تەلەپلىرى ئۈچۈن HTTP ۋاكالەتچى تىزىملىكى host ۋە port ئىستونلىرىغا نامزات تەمىنلەيدۇ. كۆرسەتكۈچ بىرىنچى ۋاكالەتچى قۇرىدىن ئاخىرقىسىغىچە ئايلىنىپ ئاندىن بېشىغا قايتىدۇ. ھەر بىر چاقىرىقنىڭ ئۆزىنىڭ ۋاكالەتچى سەپلىمىسى بار؛ R جەريانى داۋاملىق ئىشلەيدۇ.

ئېرىشىلگەن بەتلەردە تەھلىل قىلىنغان HTML ھۆججەتلىرى بار. ئۇلارغا rvest::html_elements بىلەن زۆرۈر ئېلىش فۇنكسىيەلىرىنى قوللىنىڭ. ئۇنىڭ ئورنىغا read_html غا URL بەرسە، شۇ يولنىڭ ئۆزىنىڭ تور سەپلىمىسى بىلەن يېڭى ئېلىش باشلىنىدۇ.

دەلىللەنگەن ۋاكالەتچىلەر ئۈچۈن تاللانغان ھېساباتنى use_proxy نىڭ username ۋە password ئارگۇمېنتلىرى ئارقىلىق يەتكۈزۈڭ. باشقا ئاخىرلاش نۇقتىسى باشقا ئاممىۋى چىقىش IP نى كاپالەتلەندۈرمەيدۇ، شۇڭا كۆلچەكنى مۇلازىمەتنىڭ ھەقىقىي چىقىش ھەرىكىتىگە قاراپ تاللاڭ.

مۇناسىۋەتلىك ماقالىلەر