невозможно очистить данные с веб-сайта bls до 2011 года с помощью rvest и blscrapeR

#r

#r

Вопрос:

Привет, я пытаюсь очистить следующий веб-сайт

https://data.bls.gov/timeseries/CUURS49FSA0 используя следующий код

 library(rvest)

url <- read_html("https://data.bls.gov/timeseries/CUURS49FSA0")

xpath_node <- '//*[(@id = "table0")]//td | //*[(@id = "table0")]//th'

yr_CPI_pre2018.df <- url %>%
html_nodes(xpath = xpath_node) %>%
html_text() %>% 
matrix(nrow = 16) %>%
t() %>% 
data.frame() 

colnames(yr_CPI_pre2018.df) <- yr_CPI_pre2018.df[1, ]

yr_CPI_pre2018.df <- yr_CPI_pre2018.df %>% 
slice(-1)
 

Мой код может загружать только с 2011 по 2021 год, но я хотел бы получить данные с 2000 по 2021 год

Я также пытался использовать blscrapeR , но эта библиотека не будет запрашивать этот набор данных до 2018 года.

 month_HI_CPI_post2018.df <- bls_api("CUURS49FSA0", startyear = 2000, endyear = 2000)
 

Комментарии:

1. Я бы посоветовал перейти на веб-страницу, загрузить и прочитать Excel. В отличие от попыток узнать, как изменить и отправить форму. Мой совет — потратьте время на анализ и презентацию вместо того, чтобы выполнять один раз, данные с 2000 по 2017 год никогда не изменятся.

2. @Dave2e Я разрабатываю программу, которая обновляет данные CPI каждый месяц. Эта программа будет использоваться несколькими исследователями в подразделении. Я думаю, я просто хотел создать самодостаточный код, чтобы свести к минимуму вероятность ошибки (например, неправильная структура папок и т. Д.). Но я согласен, не нужно тратить время на статические данные. Спасибо!

3. Я это понимаю. Я хочу сказать, что исторические данные не меняются, поэтому прочитайте их один раз и сохраните. Они каждый месяц / год считывают изменения и обновляют набор данных. Это было бы более эффективно, чем чтение всех данных снова и снова.