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


R rvest session 在網絡瀏覽器中模擬會話

這組函數允許您模擬用戶與網站交互、使用表單以及從一個頁麵導航到另一個頁麵。

  • 使用 session(url) 創建會話

  • 使用 session_jump_to() 導航到指定的網址,或使用 session_follow_link() 訪問頁麵上的鏈接。

  • 提交 html_formsession_submit()

  • 使用 session_history() 查看曆史記錄,並使用 session_back()session_forward() 前後導航。

  • 使用 html_element()html_elements() 提取頁麵內容,或使用 read_html() 獲取完整的 HTML 文檔。

  • 使用 httr::cookies()httr::headers()httr::status_code() 檢查 HTTP 響應。

用法

session(url, ...)

is.session(x)

session_jump_to(x, url, ...)

session_follow_link(x, i, css, xpath, ...)

session_back(x)

session_forward(x)

session_history(x)

session_submit(x, form, submit = NULL, ...)

參數

url

要導航到的 URL(相對或絕對)。

...

在整個會話中使用的任何其他 httr 配置。

x

一次會議。

i

用於選擇第 i 個鏈接的整數或用於匹配包含該文本的第一個鏈接的字符串(區分大小寫)。

css, xpath

要選擇的元素。根據您要使用 CSS 選擇器還是 XPath 1.0 表達式,提供 cssxpath 之一。

form

要提交的html_form

submit

應該使用哪個按鈕來提交表單?

  • NULL 默認使用第一個按鈕。

  • 字符串通過名稱選擇按鈕。

  • 數字使用其相對位置來選擇按鈕。

例子

s <- session("http://hadley.nz")
s %>%
  session_jump_to("hadley-wickham.jpg") %>%
  session_jump_to("/") %>%
  session_history()
#> Warning: Not Found (HTTP 404).
#>   https://hadley.nz/
#>   https://hadley.nz/hadley-wickham.jpg
#> - https://hadley.nz/

s %>%
  session_jump_to("hadley-wickham.jpg") %>%
  session_back() %>%
  session_history()
#> Warning: Not Found (HTTP 404).
#> - https://hadley.nz/
#>   https://hadley.nz/hadley-wickham.jpg

# \donttest{
s %>%
  session_follow_link(css = "p a") %>%
  html_elements("p")
#> Navigating to http://rstudio.com
#> {xml_nodeset (68)}
#>  [1] <p class="d-inline">\n            <b><a style="color: #ffffff; fon ...
#>  [2] <p class="d-inline pl-0 pt-1 pr-3">\n            <b class="pr-3">< ...
#>  [3] <p><a style="color: #ffffff; font-size: .9em;" href="https://posit ...
#>  [4] <p>The premier IDE for R</p>
#>  [5] <p>RStudio anywhere using a web browser</p>
#>  [6] <p>Put Shiny applications online</p>
#>  [7] <p>Shiny, R Markdown, Tidyverse and more</p>
#>  [8] <p>Next level training for you and your team</p>
#>  [9] <p>Do, share, teach and learn data science</p>
#> [10] <p>An easy way to access R packages</p>
#> [11] <p>Let us host your Shiny applications</p>
#> [12] <p>A single home for R &amp; Python Data Science Teams</p>
#> [13] <p>Scale, develop, and collaborate across R &amp; Python</p>
#> [14] <p>Easily share your insights</p>
#> [15] <p>Control and distribute packages</p>
#> [16] <p>RStudio</p>
#> [17] <p>RStudio Server</p>
#> [18] <p>Shiny Server</p>
#> [19] <p>R Packages</p>
#> [20] <p>RStudio Academy</p>
#> ...
# }
源代碼:R/session.R

相關用法


注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Simulate a session in web browser。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。