2009-12-04 7 views

उत्तर

21

वास्तव में यह सुनिश्चित नहीं है कि आप उस पृष्ठ को कैसे संसाधित करना चाहते हैं, क्योंकि यह वास्तव में गन्दा है। जैसा कि हम re-learned in this famous stackoverflow question, एचटीएमएल पर रेगेक्स करना अच्छा नहीं है, इसलिए आप निश्चित रूप से एक्सएमएल पैकेज के साथ इसे पार्स करना चाहते हैं।

require(RCurl) 
require(XML) 
webpage <- getURL("http://www.haaretz.com/") 
webpage <- readLines(tc <- textConnection(webpage)); close(tc) 
pagetree <- htmlTreeParse(webpage, error=function(...){}, useInternalNodes = TRUE) 
# parse the tree by tables 
x <- xpathSApply(pagetree, "//*/table", xmlValue) 
# do some clean up with regular expressions 
x <- unlist(strsplit(x, "\n")) 
x <- gsub("\t","",x) 
x <- sub("^[[:space:]]*(.*?)[[:space:]]*$", "\\1", x, perl=TRUE) 
x <- x[!(x %in% c("", "|"))] 

यह (कुछ जावास्क्रिप्ट के साथ) ज्यादातर सिर्फ वेबपेज पाठ का एक चरित्र वेक्टर में परिणाम:

> head(x) 
[1] "Subscribe to Print Edition"    "Fri., December 04, 2009 Kislev 17, 5770" "Israel Time: 16:48 (EST+7)"   
[4] "  Make Haaretz your homepage"   "/*check the search form*/"    "function chkSearch()" 
3

आपका सबसे अच्छा शर्त कर सकते हैं करना चाहते हैं एक्सएमएल पैकेज हो सकता है - उदाहरण के लिए यह previous question देखें।

+0

लेकिन एचटीएमएल टैग से कैसे छुटकारा पा सकता है। मुझे पता है कि मैं एक RegEx अभिव्यक्ति लिख सकता हूं लेकिन क्या कोई पैकेज है जो कोडिंग को कम नाटकीय बनाता है! – Mark

2

मुझे पता है तुम आर के लिए कहा

यहाँ प्राप्त करने के लिए एक उदाहरण आप शुरू कर दिया लेकिन शायद पाइथन + beautifullsoup यहाँ आगे रास्ता है? फिर आर के साथ अपना विश्लेषण करें क्या आपने beautifullsoup के साथ स्क्रीन को स्क्रैप किया है?

संबंधित मुद्दे