我试图抓一个网站获取数据。下面是我正在使用的脚本的简化版本。在此示例中,最后一行中由html_table检索的 disease.table 应包括2014年至2017年的所有年份。目前,它仅包含2017年。
# Initiate wahis.session website session.
url <- "http://www.oie.int/wahis_2/public/wahid.php/Diseaseinformation/statusdetail"
wahis.session <- html_session(url)
# Get forms with searchable fields in current session.
form <- html_form(wahis.session)
#------------------------------------------------------------------------------
# Fill out and submit forms
# First, Copy form.
filled.form <- form
# Set values in form #3
filled.form[[3]] <- set_values(filled.form[[3]],
selected_start_year = "2014") # start year
# Set form url to empty character string to prevent error message when
# submitting.
filled.form[[3]]$url <- ""
# Submit form #3
submit_form(session = wahis.session,
form = filled.form[[3]],
submit = 'disease_id_terrestrial')
#------------------------------------------------------------------------------
# Retreive data
# Find data table
disease.table <- wahis.session %>%
html_node("div.OverflowAutoScroll table.TableFoyers") %>%
html_table(fill = TRUE)
答案 0 :(得分:1)
我找到了答案。 submit_form()
函数需要应用于活动的html会话。使用以下代码提交表单:
# Submit form #3
wahis.session <- submit_form(session = wahis.session,
form = filled.form[[3]],
submit = 'disease_id_terrestrial'
不需要进行任何其他更改。