使用 R 中的下拉菜单选项,在 URL 不变时抓取 table
scrape a table when URL does not change using drop down menu options in R
我正尝试在本网站 (https://www.timeanddate.com/weather/canada/vancouver/historic?month=10&year=2017) 中抓取 10 月份所有天的天气 table。
通过以下代码成功抓取十月初一
library("rvest")
content<-read_html("https://www.timeanddate.com/weather/canada/vancouver/historic?month=10&year=2017")
tables <- content %>% html_table(fill = TRUE)
tables[[2]]
我在下拉菜单中获取每次需要更改的值以生成新的 table 对应于 10 月 2,3,...
content %>%
html_nodes("#wt-his-select option")%>% html_attrs()
从类似的问题中,我了解到我需要使用 httr:POST 或提交表格,但从这里我不知道如何获得对应于 oct 2,3,4 的 tables ,....
我也试过了,但我尝试 select 选项的下拉菜单似乎不是一个表单,因为它没有显示在这里
html_form(content)
此外,我无法使用“RSelenium”,因为出现错误 (),为了解决这个问题,我需要安装 Decker,但由于 windows 问题,我现在无法安装。
任何帮助将不胜感激!
按照 Dev 工具中的 Network 选项卡,您可以注意到该页面将请求发送到 URL 类似于:https://www.timeanddate.com/scripts/cityajax.php?n=canada/vancouver&mode=historic&hd=20171011&month=10&year=2017&json=1
您可以使用 jsonlite
从中提取数据。
我正尝试在本网站 (https://www.timeanddate.com/weather/canada/vancouver/historic?month=10&year=2017) 中抓取 10 月份所有天的天气 table。 通过以下代码成功抓取十月初一
library("rvest")
content<-read_html("https://www.timeanddate.com/weather/canada/vancouver/historic?month=10&year=2017")
tables <- content %>% html_table(fill = TRUE)
tables[[2]]
我在下拉菜单中获取每次需要更改的值以生成新的 table 对应于 10 月 2,3,...
content %>%
html_nodes("#wt-his-select option")%>% html_attrs()
从类似的问题中,我了解到我需要使用 httr:POST 或提交表格,但从这里我不知道如何获得对应于 oct 2,3,4 的 tables ,....
我也试过了,但我尝试 select 选项的下拉菜单似乎不是一个表单,因为它没有显示在这里
html_form(content)
此外,我无法使用“RSelenium”,因为出现错误 (
按照 Dev 工具中的 Network 选项卡,您可以注意到该页面将请求发送到 URL 类似于:https://www.timeanddate.com/scripts/cityajax.php?n=canada/vancouver&mode=historic&hd=20171011&month=10&year=2017&json=1
您可以使用 jsonlite
从中提取数据。