പ്രോക്സി തിരഞ്ഞെടുപ്പ് ഡൗൺലോഡ് പ്രവർത്തനത്തിൽ തന്നെ നിർത്തുക. 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 ഉറപ്പാക്കുന്നില്ല, അതിനാൽ സേവനത്തിന്റെ യഥാർത്ഥ എക്സിറ്റ് സ്വഭാവം അനുസരിച്ച് പൂൾ തിരഞ്ഞെടുക്കുക.

അനുബന്ധ ലേഖനങ്ങൾ