我想抓取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]])
我很接近 - 唯一的问题是我没有掌握如何单独解决节点中的两个值 - 我实际上只是想要数字..(在上面的例子中,两个值是连接的)
我还想知道一种如何避免索引[[6]]的方法,但不知道是否可以通过任何其他特性来寻址节点。
非常感谢任何帮助或指示!
ps:当然我可以使用正则表达式 - 但我认为这不是最优雅的方式..
答案 0 :(得分:1)
您可以避免[[6]]
通过注意到其中一个div
元素具有id
属性。
以下内容分别返回两个子节点的内容,
没有连接它们。
xpathSApply(doc, "//div[@id='subform_ctrl']/*", xmlValue)
# [1] "Erweiterte Suche" "Ungefähr 245.000 Ergebnisse"