我正试图从一个网站上提取一些信息。
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)
. 那么,我试图请求的其实不是一个表吗?
下面将提取一个列表中的所有表格。
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 -