我正试图使用R中的Rvest从html文件中抓取一个表。但html_node不起作用,我认为这是因为xpath中的id是西班牙语,并且有重音。
这是代码:
library(rvest)
library(xml2)
url <- "https://www3.ine.gub.uy/boletin/Boletin%20Ingresos%204to%20trimestre%202021.html"
html <- read_html(url)
data <- html_node(html, xpath='//*[@id="ingreso-medio-per-cápita"]/table/tbody')
我一直在谷歌上搜索,但找不到解决方案
如果有人能帮助我,我将不胜感激!
我不确定这里的问题是什么,但由于重音字符之前的字符串仍然是唯一的,您可以使用xpath函数starts-with
获得它
library(rvest)
library(xml2)
url <- "https://www3.ine.gub.uy/boletin/Boletin%20Ingresos%204to%20trimestre%202021.html"
html <- read_html(url)
xpath <- '//div[starts-with(@id,"ingreso-medio-per-c")]/table'
data <- html_table(html_nodes(html, xpath = xpath))[[1]][1:3,]
#> Warning in table_fill(cells, trim = trim): NAs introduced by coercion
data
#> # A tibble: 3 x 3
#> `` `Trimestre 3 2021` `Trimestre 4 2021`
#> <chr> <dbl> <dbl>
#> 1 Total país 25.8 26.6
#> 2 Montevideo 32.5 33.5
#> 3 Interior 21.5 22.3
创建于2022-02-15由reprex包(v2.0.1(
或者您可以使用,
library(rvest)
library(tidyverse)
url = 'https://www3.ine.gub.uy/boletin/Boletin%20Ingresos%204to%20trimestre%202021.html'
url %>%
read_html() %>%
html_table()
从网页上获取所有表格。