R को httr मा प्रोक्सी घुमाउने र डाउनलोड गरिएको HTML पार्स गर्ने
हरेक httr अनुरोधमा प्रोक्सी पङ्क्ति बदल्नुहोस् र डाउनलोड भएका बाइटहरू xml2 र rvest मा पठाउनुहोस्।
प्रोक्सी छनोट डाउनलोड कार्यमै राख्नुहोस्। 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 आर्गुमेन्टमार्फत पठाउनुहोस्। फरक endpoint ले फरक सार्वजनिक निकास IP को ग्यारेन्टी दिँदैन, त्यसैले सेवाको वास्तविक निकास व्यवहारअनुसार पूल छान्नुहोस्।