2013-05-31 69 views
2

我有一個XMLNodeSet對象,它包含一個帶有超鏈接的HTML表格。當我使用readHTMLTable轉換爲data.frame時效果很好,但超鏈接信息丟失。有沒有一種方法可以在包含超鏈接的data.frame中創建附加列?如何使用readHTMLTable從HTML表格中獲取超鏈接?

也許一個更簡單的例子是從表中提取超鏈接http://stoptb.org/countries/tbteam/reg_wpro.asp

table <- readHTMLTable("http://stoptb.org/countries/tbteam/reg_wpro.asp") 

df <- data.frame(table[[8]]) 

回答

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 
+0

謝謝。這很好用! (現在我明白了這一切是如何工作的)。 – Tom

+0

'hrefFun < - function(x){x,'/ a/@ href「) }''有幫助#necropost – jpd527

相關問題