我有一个XMLNodeSet
对象,其中包含一个带超链接的HTML表。当我使用readHTMLTable
转换为data.frame时,它工作得很好,但超链接信息丢失了。有没有办法在data.frame中创建包含超链接的附加列?
也许一个更简单的例子是从这里的http://stoptb.org/countries/tbteam/reg_wpro.asp表中提取超链接。
table <- readHTMLTable("http://stoptb.org/countries/tbteam/reg_wpro.asp")
df <- data.frame(table[[8]])
答案 0 :(得分:4)
readHTMLTable
调用xmlValue
作为elFun
的默认值。您可以简单地定义一个不同的函数来提取超链接:
require(XML)
regURL <- "http://stoptb.org/countries/tbteam/reg_wpro.asp"
table <- readHTMLTable(regURL, stringsAsFactors = FALSE)
df <- table[[8]]
hrefFun <- function(x){
xpathSApply(x,'./a',xmlAttrs)
}
table2 <- readHTMLTable(regURL, elFun = hrefFun, stringsAsFactors = FALSE)
df2 <- table2[[8]]
df$URLS <- df2$V2