使用rvest读取xml数据

问题描述 投票:0回答:1

我正在尝试从以下链接读取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()

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

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

我觉得我缺少一些超级基础的东西。我将如何从此处抓取特定的节点信息。

提前感谢!

r xml web-scraping rvest
1个回答
0
投票

是的,您丢失了一个事实,即您要抓取的节点位于特定的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" 
© www.soinside.com 2019 - 2024. All rights reserved.