使用 R 在 iframe 中抓取数据 HTML table

Scrape data HTML table in iframe using R

我正在尝试从这个 link 中抓取以下内容 table:

https://www.price.moc.go.th/en/home_en

使用 rvest 以下内容不起作用,但我不知道要更改什么:

阅读html代码

html <- read_html("https://www.price.moc.go.th/en/home_en")

进入特定的 css 选择器

check <- html %>%
  html_nodes("#cpi_index > td:nth-child(2)") %>%
  html_text()

enter image description here

所需的 table 在 iframe 中,其中有 link、

https://www.price.moc.go.th/price_index/index_price01.html

您需要 RSelenium 才能获得 table。

url = 'https://www.price.moc.go.th/price_index/index_price01.html'
#start the browser
library(RSelenium)
library(rvest)
library(dplyr)
driver = rsDriver(browser = c("firefox"))
remDr <- driver[["client"]]
remDr$navigate(url)
#get table
df = remDr$getPageSource()[[1]] %>% 
  read_html() %>%
  html_table() 

df[[1]]
# A tibble: 4 x 5
  INDEX    `Nov  21` `M/M` `Y/Y` `A/A`
  <chr>        <dbl> <dbl> <dbl> <dbl>
1 CPI           102.  0.28  2.71  1.15
2 CORE-CPI      101.  0.09  0.29  0.23
3 PPI           106.  1.2   8.5   4.4 
4 CMI           116   0.5  10.4   7.9