開始使用免費開始

用 GET() 擷取狀態碼

在最後這個練習中,我們會從 read_lines() 換成 httrGET() 函式。

我們會先建立 GET()possibly() 版本,用來測試你拿到的部分 URL 是否會回傳錯誤。若能成功存取該 URL,會回傳一個連線物件,其中包含一個 "status_code" 元素。

先別太在意結果;只要記住,如果 GET() 回傳錯誤,就代表該 URL 無法使用。我們回傳的狀態碼看起來像是網頁術語,不過下一章會更深入說明。現在先記得,200 代表一切如預期。

工作空間中已提供 urls 向量,並且已為你載入 purrrhttr

本練習屬於課程

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

檢視課程

練習說明

  • 建立一個在發生錯誤時會回傳 NULLGET() 版本。

  • 設定結果的名稱。

  • 移除 NULL

  • 擷取每個元素的 "status_code"

動手互動練習

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

url_tester <- function(url_list){
  url_list %>%
    # Map a version of GET() that would otherwise return NULL 
    map( ___(GET, ___) ) %>%
    # Set the names of the result
    ___( url_list ) %>%
    # Remove the NULL
    ___() %>%
    # Extract all the "status_code" elements
    map(___)
}

# Try this function on the urls object
___(urls)
編輯並執行程式碼