我正在尝试使用 XML 包从 html 文档中提取数据。我去如下:
library(XML)
sink("parse.txt")
parse<-htmlParse(file = "jdwaz.html",encoding = "GBK")
a=getNodeSet(parse,'//div[@class="amount"]')
print(a)
然后 class(a) 返回“XMLNodeSet”,其内容在 txt 文件中如下所示
[[1]]
<div class="amount">
<span>总额 ¥113.80</span> <br /><span class="ftx-13">在线支付</span>
</div>
[[2]]
<div class="amount">
<span>总额 ¥99.00</span> <br /><span class="ftx-13">在线支付</span>
</div>
我只显示“a”的 20 个中的 2 个
class([a]) 返回“列表”想要获取内容“我想要获取 0 ¥99.0”。我在r 中找到了一种方法 - XMLNodeSet 上的 xpathApply(带有 XML 包) 它使用 xmlvalue 来获取如下文本:
x <- xpathApply(y, "//table/tr")
sapply(x,xmlValue) ## it a list of nodes..
" Test1.1 Test1.2 " " Test1.3 Test1.4 "
但这不适合我的情况。当我输入 xmlvalue(a) 时,它返回:
Error in UseMethod("xmlValue") : no applicable method for 'xmlValue' applied to an object of class "XMLNodeSet"
我没有找到合适的方法来处理 XMLNodeSet 类。帮助!