安全的迭代
就像上一章一樣,假設你是一位在網頁代理商工作的資料分析師。這次,你被要求進行一些網頁爬蟲。
(注意:即使你不熟悉網頁爬蟲也別擔心,我們會從簡單開始,並解釋所有會用到的函式。)
你收到了一份 URL 清單,但你懷疑其中有些不是有效位址。你首先要做的,是測試能否連到這些 URL。為此,我們會使用 readr 套件中的一個簡單函式:read_lines(),並把它包在 safely() 裡。給定一個 URL,read_lines() 會讀取其 HTML;如果該 URL 無法連線,則會回傳錯誤。
urls 向量已經在你的工作環境中。如果想知道內容,請在主控台印出它。
本練習屬於課程
使用 purrr 的 R 語言中級函式程式設計
練習說明
建立
read_lines()的安全版本。將這個新建立的函式套用到提供的
urls向量上。使用
set_names()函式設定結果的名稱。擷取每個子清單中的
"error"元素。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create a safe version of read_lines()
safe_read <- ___(___)
# Map it on the urls vector
res <- ___(urls, ___)
# Set the name of the results to `urls`
named_res <- ___(res, ___)
# Extract only the "error" part of each sublist
___(named_res, ___)