【问题标题】:rvest: select an option and submit formrvest:选择一个选项并提交表格
【发布时间】:2017-04-24 16:13:39
【问题描述】:

我正在尝试从site 中提取失业率数据。在表单中,有一个带有一些选项的select 标签。我可以从默认年份 2007 到 2017 中提取表格。但是我很难为from_yearto_year 设置一个值。这是我到目前为止的代码:

session = html_session("https://data.bls.gov/timeseries/LNS14000000")
form = read_html("https://data.bls.gov/timeseries/LNS14000000") %>% html_node("table form") %>% html_form()
set_values(form, from_year = 2000, to_year = as.numeric(format(Sys.Date(), "%Y"))) # nothing happened if I set the value for years
submit_form(session, form)

它没有按预期工作。

【问题讨论】:

标签: r rvest


【解决方案1】:

非常感谢@Andrew!

我可以使用api来提取数据。

library(rjson)
library(blsAPI)

uer1 <- list(
  'seriesid'=c('LNS14000000'),
  'startyear'=2000,
  'endyear'=2009)

response <- blsAPI(uer1, 2, TRUE)

response 看起来像:

    year period periodName value    seriesID
1   2009    M12   December   9.9 LNS14000000
2   2009    M11   November   9.9 LNS14000000
3   2009    M10    October  10.0 LNS14000000
4   2009    M09  September   9.8 LNS14000000
5   2009    M08     August   9.6 LNS14000000
6   2009    M07       July   9.5 LNS14000000
...

请注意,api 中有一些查询限制。

api limits

【讨论】:

  • 应该遵守的限制,不能通过抓取或代理抓取工具解决。
  • @hrbrmstr,完全同意!
猜你喜欢
  • 1970-01-01
  • 2017-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-24
  • 2016-08-05
相关资源
最近更新 更多