使用 html_form()
提取表单,使用 html_form_set()
设置值,然后使用 html_form_submit()
提交。
参数
- x
-
文档(来自
read_html()
)、节点集(来自html_elements()
)、节点(来自html_element()
)或会话(来自session()
)。 - base_url
-
底层 HTML 文档的基本 url。默认值
NULL
使用x
底层 HTML 文档的 url。 - form
-
表单
- ...
-
<
dynamic-dots
> Name-value 对提供要修改的字段。提供字符向量以设置一组中的多个复选框或从 multi-select 中选择多个值。
- submit
-
应该使用哪个按钮来提交表单?
-
NULL
默认使用第一个按钮。 -
字符串通过名称选择按钮。
-
数字使用其相对位置来选择按钮。
-
值
-
当应用于单个元素时,
html_form()
返回为类为rvest_form
的 S3 对象。当应用于多个元素或文档时,它返回rvest_form
对象的列表。 -
html_form_set()
返回rvest_form
对象。 -
html_form_submit()
提交表单,返回可使用read_html()
解析的 httr 响应。
也可以看看
HTML 4.01 表单规范:https://www.w3.org/TR/html401/interact/forms.html
例子
html <- read_html("http://www.google.com")
search <- html_form(html)[[1]]
search <- search %>% html_form_set(q = "My little pony", hl = "fr")
#> Warning: Setting value of hidden field 'hl'.
# Or if you have a list of values, use !!!
vals <- list(q = "web scraping", hl = "en")
search <- search %>% html_form_set(!!!vals)
#> Warning: Setting value of hidden field 'hl'.
# To submit and get result:
if (FALSE) {
resp <- html_form_submit(search)
read_html(resp)
}
相关用法
- R rvest html_encoding_guess 猜测字符编码错误
- R rvest html_text 获取元素文本
- R rvest html_element 从 HTML 文档中选择元素
- R rvest html_children 获取元素子元素
- R rvest html_name 获取元素名称
- R rvest html_table 将 html 表解析为 DataFrame
- R rvest html_attr 获取元素属性
- R rvest session 在网络浏览器中模拟会话
- R rvest minimal_html 从内联 HTML 创建 HTML 文档
- R predict.rpart 根据拟合的 Rpart 对象进行预测
- R SparkR randomSplit用法及代码示例
- R reprex un-reprex 取消渲染reprex
- R SparkR read.stream用法及代码示例
- R SparkR rbind用法及代码示例
- R readr datasource 创建源对象。
- R readr melt_delim 返回分隔文件中每个标记的熔化数据(包括 csv 和 tsv)
- R readr read_rds 读/写 RDS 文件。
- R readr read_lines 从文件中读取/写入行
- R SparkR rollup用法及代码示例
- R readr parse_number 灵活地解析数字
- R snip.rpart 剪切 Rpart 对象的子树
- R labels.rpart 为 Rpart 对象创建分割标签
- R SparkR refreshByPath用法及代码示例
- R summary.rpart 总结拟合的 Rpart 对象
- R printcp 显示拟合 Rpart 对象的 CP 表
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Parse forms and set values。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。