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