使用 rvest 读取 xml 数据

Read xml data with rvest

我正在尝试从以下 link 中读取 xml 数据:

https://www.sec.gov/Archives/edgar/data/1026081/000092189520001626/infotable.xml

我正在使用 rvest 包并执行此操作

library(rvest)
url <- "https://www.sec.gov/Archives/edgar/data/1026081/000092189520001626/infotable.xml"

test <- url %>% 
  read_xml() %>% 
  xml_nodes("nameOfIssuer") %>% 
  xml_text()

但这不起作用。 "test" 为空。我也尝试过 xpath。我还尝试了其他变体,例如

test <- url %>% 
  read_xml() %>% 
  xml_nodes("infoTable") %>% 
  xml_text()

我觉得我缺少一些非常基本的东西。我将如何从这里抓取特定节点信息。

提前致谢!

是的,您忽略了一个事实,即您尝试抓取的节点位于特定的 xml 命名空间内。去掉命名空间,你就可以开始了。

url %>% read_xml() %>% xml_ns_strip() %>% xml_nodes("nameOfIssuer") %>% xml_text()
#>  [1] "BANCORP 34 INC"               "BANC OF CALIFORNIA INC"      
#>  [3] "BANKWELL FINL GROUP INC"      "CBM BANCORP INC"             
#>  [5] "CARTER BK & TR MARTINSVILLE"  "CITIZENS FINL GROUP"         
#>  [7] "CIVISTA BANCSHARES INC"       "COLUMBIA FINL INC"           
#>  [9] "CONNECTONE BANCORP INC NEW"   "FSB BANCORP INC"             
#> [11] "FIRST UTD CORP"               "HV BANCORP INC"              
#> [13] "HARBORONE BANCORP INC NEW"    "INVESTORS BANCORP INC NEW"   
#> [15] "MSB FINL CORP NEW"            "MALVERN BANCORP INC"         
#> [17] "MID SOUTHERN BANCORP INC"     "NORTHEAST BK LEWISTON ME"    
#> [19] "PB BANCORP INC"               "PEAPACK-GLADSTONE FINL CORP" 
#> [21] "PIONEER BANCORP INC"          "PROVIDENT BANCORP INC"       
#> [23] "PRUDENTIAL BANCORP INC NEW"   "RICHMOND MUT BANCORPORATIN I"
#> [25] "SELECT BANCORP INC NEW"       "STERLING BANCORP DEL"        
#> [27] "WATERSTONE FINL INC MD"       "WINTRUST FINL CORP"