開始使用免費開始

另一個擷取器

在上一個練習中,我們建立了一個能從 H2 標頭擷取文字內容的函式。

這次試試別的:我們要擷取特定頁面上所有存在的連結。為了達成這件事,我們需要呼叫兩個 httr 的函式:html_nodes(),並將 css 參數設為 "a"a 是連結的 HTML 標籤),以及 html_attr(),用來從節點中擷取指定屬性——在我們的情境下,這個屬性是 "href",也就是連結位址。

已為你載入 purrrrvest。工作環境中依然可以找到向量 urls

本練習屬於課程

使用 purrr 的 R 語言中級函式程式設計

檢視課程

練習說明

  • 預先填入 html_nodes()css 參數為 "a"

  • 建立 href() 函式,它是 html_attr() 的預先填入版本。

  • href()get_a()read_html() 組合成新的合成函式。

  • 將這個新函式對向量 urls 進行 map。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Create a partial version of html_nodes(), with the css param set to "a"
get_a <- ___(html_nodes, ___)

# Create href(), a partial version of html_attr()
href <- ___(___, name = "href")

# Combine href(), get_a(), and read_html()
get_links <- ___(___, ___, ___)

# Map get_links() to the urls list
res <- ___(urls, ___) %>%
  set_names(urls)

# See the result
res
編輯並執行程式碼