始める無料で始める

GET() でステータスコードを取得する

この最後の演習では、read_lines() から httrGET() に切り替えます。

まず、URL のいくつかがエラーを返すかどうかを確認するために、GET()possibly() 版を作成します。URL にアクセスできれば、接続オブジェクトが返され、その中に "status_code" 要素が含まれます。

結果そのものにこだわる必要はありません。GET() がエラーを返すのは、その URL が利用できないからです。ここで返すステータスコードの数値はウェブの専門用語のように感じるかもしれませんが、次の章で詳しく扱います。今は 200 が「問題なし」を意味することだけ覚えておいてください。

urls ベクトルはワークスペースに用意されています。purrrhttr も読み込まれています。

この演習はコースの一部です

purrr で学ぶ中級関数型プログラミング

コースを見る

演習の手順

  • エラー時に NULL を返す GET() のバージョンを作成します。

  • 結果に名前を設定します。

  • 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)
コードを編集して実行