開始使用免費開始

安全的迭代

就像上一章一樣,假設你是一位在網頁代理商工作的資料分析師。這次,你被要求進行一些網頁爬蟲。

(注意:即使你不熟悉網頁爬蟲也別擔心,我們會從簡單開始,並解釋所有會用到的函式。)

你收到了一份 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, ___)
編輯並執行程式碼