另一個擷取器
在上一個練習中,我們建立了一個能從 H2 標頭擷取文字內容的函式。
這次試試別的:我們要擷取特定頁面上所有存在的連結。為了達成這件事,我們需要呼叫兩個 httr 的函式:html_nodes(),並將 css 參數設為 "a"(a 是連結的 HTML 標籤),以及 html_attr(),用來從節點中擷取指定屬性——在我們的情境下,這個屬性是 "href",也就是連結位址。
已為你載入 purrr 與 rvest。工作環境中依然可以找到向量 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