1

我想抓取谷歌搜索的点击次数:

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]])

我很接近 - 唯一的问题是我不知道如何分别处理节点内的两个值 - 我实际上只想要数字..(在上面的示例中,两个值是连接的)

我还想知道如何避免索引 [[6]],但不知道是否可以通过任何其他特征来寻址节点。

任何帮助或指示将不胜感激!

ps:当然我可以使用正则表达式 - 但我认为这不是最优雅的方式..

4

1 回答 1

1

[[6]] 您可以通过注意其中一个div元素具有id属性来避免这种情况。以下分别返回两个子节点的内容,而不将它们连接起来。

xpathSApply(doc, "//div[@id='subform_ctrl']/*", xmlValue)
# [1] "Erweiterte Suche"            "Ungefähr 245.000 Ergebnisse"
于 2012-04-05T05:38:23.153 回答