R - 从特定行开始读取解析 html 文件

R - reading parse html file starting from specific line

我正在尝试使用 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...

有办法实现吗? 感谢大家!

试试这个

library(rvest)
read_html(file) %>%
    html_nodes(xpath = "//input[contains(@name,'_ctl0:PlaceHolderContenido')]/@value")%>%
    html_text()

它只给出 input 节点中包含的值列表,名称包含 '_ctl0:PlaceHolderContenido'

或有关这些节点的更多详细信息:

library(rvest)
library(plyr)
read_html(file) %>%
    html_nodes(xpath = "//input[contains(@name,'_ctl0:PlaceHolderContenido')]") %>%
    html_attrs() %>%
    sapply(function(x) as.list(x) %>% as.data.frame) %>%
    do.call(rbind.fill, .)