2

I'm attempting to generate a web form to allow me to scrape data.

library(rvest)

url <- "https://iemweb.biz.uiowa.edu/pricehistory/pricehistory_SelectContract.cfm?market_ID=214"

pg.form <- html_form(html(url))

which returns

pg.form
[[1]]
<form> '<unnamed>' (POST PriceHistory_GetData.cfm)
 <input HIDDEN> 'Market_ID': 214
 <select> 'Month' [1/12]
 <select> 'Year' [0/2]
 <input SUBMIT> '': Get Prices

My mistake is to think that I need to set values for the Month and Year fields, but this is a mistake

filled_form <- set_values(pg.form,
                          Month = "8",
                          Year = "0")

returns Error: Unknown field names: Month, Year

How do I use rvest to set values in a webform?

4

2 に答える 2

4

あなたの出力から、pg.form実際には単一のフォームではなくリストフォームです。最初のフォームにアクセスするには、次のいずれかを行います

set_values(pg.form[[1]], Month="8")

またはあなたができる

pg.form <- html_form(html(pg.session))[[1]]

代わりは。

于 2015-05-10T01:30:43.197 に答える