मैं अपने आप को समय की बात है एक बार ऐसा करने के लिए किया था।
ऐसा करने का एक तरीका XPath अभिव्यक्तियों का उपयोग करना है। आप ब्याज की वेबसाइट से कनेक्ट करने में http://www.omegahat.org/
library(RCurl)
library(RTidyHTML)
library(XML)
हम RCurl का उपयोग इन पैकेजों रिपोजिटरी से स्थापित की आवश्यकता होगी। इसमें बहुत सारे विकल्प हैं जो आपको वेबसाइटों तक पहुंचने की अनुमति देते हैं कि बेस आर में डिफ़ॉल्ट कार्यों में मुझे लगता है कि यह कहना उचित है। यह libcurl पुस्तकालय के लिए एक आर इंटरफ़ेस है।
हम विकृत एचटीएमएल वेब पेजों को साफ करने के लिए आरटीआईडीएचटीएमएल का उपयोग करते हैं ताकि वे पार्स करना आसान हो। यह libtidy पुस्तकालय के लिए एक आर इंटरफ़ेस है।
हम अपने XPath अभिव्यक्तियों के साथ HTML कोड को पार्स करने के लिए XML का उपयोग करते हैं। यह libxml2 लाइब्रेरी के लिए एक आर-इंटरफ़ेस है।
फिर भी, यहाँ आप क्या करना है (कम से कम कोड है, लेकिन विकल्प उपलब्ध हैं, इसी कार्यों की सहायता पृष्ठ देखें):
u <- "http://stackoverflow.com/questions/tagged?tagnames=r"
doc.raw <- getURL(u)
doc <- tidyHTML(doc.raw)
html <- htmlTreeParse(doc, useInternal = TRUE)
txt <- xpathApply(html, "//body//text()[not(ancestor::script)][not(ancestor::style)][not(ancestor::noscript)]", xmlValue)
cat(unlist(txt))
वहाँ इस दृष्टिकोण के साथ कुछ समस्या हो सकता है लेकिन मुझे याद नहीं क्या वे मेरे सिर के शीर्ष से बाहर हैं (मुझे नहीं लगता कि मेरी xpath अभिव्यक्ति सभी वेब पृष्ठों के साथ काम करती है, कभी-कभी यह स्क्रिप्ट कोड को फ़िल्टर नहीं कर सकती है या यह केवल कुछ अन्य पृष्ठों के साथ काम नहीं कर सकती है, प्रयोग करने के लिए सबसे अच्छा!)
पीएस एक और तरीका है, जो वेब पर लगभग पूरी तरह से मुझे लगता है कि काम करता है एचटीएमएल से सभी पाठ scraping निम्नलिखित (मूल रूप से आप के लिए रूपांतरण करने के लिए इंटरनेट एक्सप्लोरर हो रही) है:
library(RDCOMClient)
u <- "http://stackoverflow.com/questions/tagged?tagnames=r"
ie <- COMCreate("InternetExplorer.Application")
ie$Navigate(u)
txt <- list()
txt[[u]] <- ie[["document"]][["body"]][["innerText"]]
ie$Quit()
print(txt)
हालांकि, मैं इसलिए नहीं कि यह कर अच्छा लगा कभी नहीं किया है केवल यह धीमा है, लेकिन यदि आप इसे सदिश बनाते हैं और यूआरएल का वेक्टर लागू करते हैं, यदि इंटरनेट एक्सप्लोरर खराब पृष्ठ पर दुर्घटनाग्रस्त हो जाता है, तो आर खुद को लटका सकता है या दुर्घटनाग्रस्त हो सकता है (मुझे नहीं लगता? इस मामले में बहुत मदद करने की कोशिश करें)। इसके अलावा पॉप-अप की अनुमति देने की संभावना है। मुझे नहीं पता, यह थोड़ी देर हो गया है क्योंकि मैंने यह किया है, लेकिन सोचा कि मुझे इसे इंगित करना चाहिए।
डुप्लिकेट: http://stackoverflow.com/questions/1844829/how-can-i-read-and-parse-the-contents-of-a-webpage-in-r – Shane
@Shane - दिया गया उत्तर उस पृष्ठ पर काम नहीं लग रहा है (कम से कम अब और नहीं, हालांकि मुझे यकीन है कि यह उस समय हुआ था)। – JoshuaCrove
फिर हमें इसे ठीक करना चाहिए, एक नया शुरू नहीं करना चाहिए। या फिर एक सवाल पूछें कि कैसे पुराना उत्तर अब काम नहीं करता है। – Shane