rvest: неизвестные имена полей при попытке установить форму

Я пытаюсь создать веб-форму, чтобы я мог очищать данные.

library(rvest)

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

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

который возвращает

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

Моя ошибка в том, что я думаю, что мне нужно установить значения для полей Month и Year, но это ошибка

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

возвращает Error: Unknown field names: Month, Year

Как использовать rvest для установки значений в веб-форме?


person tomw    schedule 10.05.2015    source источник


Ответы (2)


Из вашего вывода pg.form на самом деле представляет собой формы списка, а не одну форму. Чтобы получить доступ к первой форме, выполните либо

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

или вы можете сделать

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

вместо.

person MrFlick    schedule 10.05.2015

lnk3 <- 'http://data.nowgoal.com/history/handicap.htm' #this website content includes the odds price
> sess <- html_session(lnk3)
> f0 <- sess %>% html_form
> f1 <- set_values(f0[[2]], matchdate=dateID[1], companyid1=list(c(3,8,4,12,1,23,24,17,31,14,35,22)))
Warning message:
Setting value of hidden field 'companyid1'. 
> s <- submit_form(sess, f1)
Submitting with 'NULL'

Попытка отправить форму, которая является скрытым полем, но звуки не работают, отправка с «NULL»

person RYO ENG Lian Hu    schedule 21.08.2015