2012-04-04 10 views
1

にTDノードを回し、私はヒット数のためのGoogle検索をこすりしたい:ウェブ、ヴァル

require(XML) 

input <- "projektgebiet" 
url <- paste("https://www.google.at/search?q=", 
      input, 
      "&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a", 
      sep = "") 

CAINFO = paste(system.file(package="RCurl"), "/CurlSSL/ca-bundle.crt", sep = "") 
script <- getURL(url, followlocation = TRUE, cainfo = CAINFO) 
doc <- htmlParse(script) 

xmlValue(getNodeSet(doc, "//td")[[6]]) 

私は近いです - 唯一の問題は、私が対処する方法を把握していないということですノード内の2つの値が別々に - 実際には数字だけが必要です。(上記の例では2つの値が連結されています)

また、インデックス付け[[6]]を回避する方法を知りたいと思います他の特性によってノードに対処することが可能かどうかはわかりません。

何か助けや指針をいただければ幸いです!

PS:もちろん、私は正規表現を使用することができます - しかし、私はこれが最もエレガントな方法はないと思う...

答えて

1

あなたはdiv要素の1つはidの属性を持っていることを注目して[[6]] を回避することができます。 次の例では、2つの子ノードの内容を連結せずに別々に返します( )。

xpathSApply(doc, "//div[@id='subform_ctrl']/*", xmlValue) 
# [1] "Erweiterte Suche"   "Ungefähr 245.000 Ergebnisse"