rvest:“未知字段名称";尝试设置表单时 [英] rvest: "unknown field names" when attempting to set form

查看:45
本文介绍了rvest:“未知字段名称";尝试设置表单时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试生成一个网络表单以允许我抓取数据.

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))

哪个返回

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

我的错误是认为我需要为 MonthYear 字段设置值,但这是一个错误

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")

返回 错误:未知字段名称:月、年

如何使用 rvest 在网络表单中设置值?

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

推荐答案

从您的输出来看,pg.form 实际上是一个列表表单而不是单个表单.要访问第一个表单,请执行

From your output, pg.form is actually a list forms rather than a single form. To access the first form either do

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

或者你可以做

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

相反.

这篇关于rvest:“未知字段名称";尝试设置表单时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆