2017-07-03 12 views
1

私はデータのためにウェブサイトをスクラップしようとしました。以下は私が使用しているスクリプトの単純版です。この例で2014年から2017年現在までのすべての年を含める必要があり、最後の行にHTML_TABLEでretreived disease.tableでは、それだけで私は答えを見つけた2017年rvestでsubmit_formを使用する

# 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

含まれています。 submit_form()関数をアクティブなhtmlセッションに適用する必要があります。次のコードを使用してフォームを送信しました。

# Submit form #3 
wahis.session <- submit_form(session = wahis.session, 
     form = filled.form[[3]], 
     submit = 'disease_id_terrestrial' 

その他の変更は必要ありません。

関連する問題