R xmlValue在代码snippit中做了什么?

R xmlValue在代码snippit中做了什么?,r,R,我一直在学习的一种方法是慢慢地通过别人的代码,找出他们做了什么。我在GitHub上找到了一个返回搜索词搜索结果数的函数 我理解这个函数的每一行,除了以“search.value”开头的那一行。这条线在干什么?我知道它需要一个带有数字的html div并提取数字,但就我而言,我不知道它是如何做到这一点的 任何帮助都将不胜感激 require(RCurl) require(XML) google.counts<-function(s){ search.url<-paste("http:

我一直在学习的一种方法是慢慢地通过别人的代码,找出他们做了什么。我在GitHub上找到了一个返回搜索词搜索结果数的函数

我理解这个函数的每一行,除了以“search.value”开头的那一行。这条线在干什么?我知道它需要一个带有数字的html div并提取数字,但就我而言,我不知道它是如何做到这一点的

任何帮助都将不胜感激

require(RCurl)
require(XML)

google.counts<-function(s){
search.url<-paste("http://www.google.com/search?q=",gsub(" ","+",s),sep="")
search.html<-getURL(search.url)
parse.search<-htmlTreeParse(search.html,useInternalNodes = TRUE)
search.nodes<-getNodeSet(parse.search,"//div[@id='resultStats']")
search.value<-strsplit(xmlValue(search.nodes[[1]])," ",fixed=TRUE)[[1]][2]
return(as.numeric(gsub(",","",search.value,fixed=TRUE)))
}
require(RCurl)
需要(XML)

google.counts您可以使用
调试功能

debug(google.counts)
google.counts("test")

这将使您进入调试“浏览器”,您可以继续按enter键一步一步地完成每一行函数。您还可以像在普通R提示符中一样查看变量的内容。

您可以设置变量
s
,并逐行运行代码,以查看每次返回的内容。例如,
s=“r language”
并查看什么是
search.nodes[[1]]
,以及在
xmlValue
ing之后它是如何变成的。您可能希望查看
方法(xmlValue)
并使用
XML::xmlValue.\u
(例如
XML::xmlValue.XMLNode
)查看方法的代码
XML:::trim
可能也很有用,因为它在
xmlValue
的许多方法函数中都很有用。好主意。明白了,谢谢。