当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R rvest html_form 解析表单并设置值


使用 html_form() 提取表单,使用 html_form_set() 设置值,然后使用 html_form_submit() 提交。

用法

html_form(x, base_url = NULL)

html_form_set(form, ...)

html_form_submit(form, submit = NULL)

参数

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 <- 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/form.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Parse forms and set values。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。