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