當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。