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 ஐ உறுதி செய்யாது, எனவே சேவையின் உண்மையான வெளியேறும் நடத்தைக்கு ஏற்ப குளத்தைத் தேர்ந்தெடுங்கள்.