我很难通过XPathApply获取标记来解析信息。网站上的所需信息是一个“输入”单元格,我不知道如何检索它。例如。通过以下信息,我可以提取它:
<div><span>3.2</span></div>
<div><span>6.9</span></div>
<div><span>2.5</span></div>
as.numeric(unlist(xpathApply(*HTMLText*, '//span', xmlValue))
但是,我的行看起来像:
<div class="editable-cell"><input type="text" tabindex="2" value="32"></div>
<div class="editable-cell"><input type="text" tabindex="2" value="33"></div>
<div class="editable-cell"><input type="text" tabindex="2" value="20"></div>
我不知道要使用哪种标记来检索value = "*"
中的值。我试过'// value','// div'等等,这对我不起作用。
我提前道歉并没有真正创建可重现的代码,但我认为很容易识别获取值所需的标记。此外,是否有任何资源可以更好地确定我需要哪些标签?
由于
答案 0 :(得分:1)
您可以使用XML::xmlAttrs
来检索属性
library(XML)
doc <- htmlParse('<div class="editable-cell"><input type="text" tabindex="2" value="32"></div>
<div class="editable-cell"><input type="text" tabindex="2" value="33"></div>
<div class="editable-cell"><input type="text" tabindex="2" value="20"></div>')
unlist(lapply(xpathApply(doc, '//input', xmlAttrs), '[[', "value"))
#or
xpathSApply(doc, '//input', function(x) xmlAttrs(x)[["value"]])
#or as suggested by @har07
xpathSApply(doc, '//input/@value', I)