从网站提取表格--跳过我想要的表格信息。

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

我正试图从一个网站上提取一些信息。

url <- "url <- "http://www.infocif.es/ficha-empresa/banco-santander-sa""
html <- url %>% 
  read_html() %>%
  html_nodes("table") %>% 
  html_table(fill = TRUE)


html %>% .[[1]]

我目前的代码给我的结果如下。

     RNK                    Razón Social    Ventas
1 NA  17  IBERDROLA GENERACION ESPAÑA SA 7.411.891
2 NA  18 GAS NATURAL COMERCIALIZADORA SA 6.280.546
3 NA  19         MERCEDES-BENZ ESPAÑA SA 5.542.579

我最感兴趣的表格是标题下的 "第一张 "表格。Información de la compañía.

当我应用 readHTMLTable(url). 那么,我试图请求的其实不是一个表吗?

r web-scraping rvest
1个回答
2
投票

下面将提取一个列表中的所有表格。

library(rvest)

url <- "http://www.infocif.es/ficha-empresa/banco-santander-sa"

list_of_tables <- url %>%
  read_html() %>%
  html_nodes("table") %>% 
  html_table(fill = TRUE)

如果你只想要第一个表,你可以像正常的提取一样,用 [[:

list_of_tables[[1]]

不过......我想这不是你想要的。如果你真的想要的元素从 Informacion de la compania我认为你需要从这个ID中提取元素。

text <- url %>%
  read_html() %>%
  html_nodes("#fe-informacion-izq .col-xs-12") %>% 
  html_text() %>% 
  # Clean-up the non-conforming text and special characters
  str_squish() %>% 
  # special case for Domicillo
  str_remove(pattern = "\\s\\{.*\\}")

names <- text[c(TRUE, FALSE)]
elements <- text[c(FALSE, TRUE)]

tibble(names, elements)

# A tibble: 11 x 2
   names                          elements                                      
   <chr>                          <chr>                                         
 1 CIF                            A39000013                                     
 2 Antigüedad                     163 años (21/03/1857)                         
 3 Domicilio                      Po Pereda 9-12 39004 - (Santander) - Cantabria
 4 Teléfono                       912737006                                     
 5 Registro                       Registro Mercantil de Madrid                  
 6 Web                            www.bancosantander.es                         
 7 Anterior Denominación:         BANCO SANTANDER CENTRAL HISPANO SA            
 8 Sector                         Intermediarios financieros                    
 9 Nº de empleados                -                                             
10 Cargos directivos - Presidente BOTIN SANZSAUTUOLA O'SHEA ANA PATRICIA Ver más
11 Matriz                         -  
© www.soinside.com 2019 - 2024. All rights reserved.