我正在尝试使用htmlTreeParse
从一组巨大的解析html文件中删除一些信息。我正在使用xpathSApply
从我需要的字段中提取信息。这些字段按顺序排序,因此以下字段的信息始终低于前一个字段的信息。
xpathSApply
函数需要永远,我想知道是否有办法让它更有效率。我坚信xpathSApply
函数从一开始就开始读取解析html文件,因此,它读取了许多已经被读取但不包含任何有用数据的html代码。我试图弄清楚是否有办法告诉xpathSApply
从上一次读完的那一行开始阅读。
代码如下:
nomcorpN <- xpathSApply(doc.html, "//*//input[@name='_ctl0:PlaceHolderContenido:nomcorpN']/@value")
codigoINE <- xpathSApply(doc.html, "//*//input[@name='_ctl0:PlaceHolderContenido:codigoINE']/@value")
codigo <- xpathSApply(doc.html, "//*//input[@name='_ctl0:PlaceHolderContenido:codigo']/@value")
#...
等等很多不同的领域。我想保留找到nomcorpN
信息的行,然后从该行开始查找codigoINE
。保持找到codigoINE
的行,然后开始在该行中查找codigo
...
有没有办法实现这一目标? 谢谢大家!
答案 0 :(得分:0)
试试这个
library(rvest)
read_html(file) %>%
html_nodes(xpath = "//input[contains(@name,'_ctl0:PlaceHolderContenido')]/@value")%>%
html_text()
它只提供名称中包含input
的{{1}}个节点中包含的值列表。
或者有关这些节点的更多详细信息:
'_ctl0:PlaceHolderContenido'