GET() でステータスコードを取得する
この最後の演習では、read_lines() から httr の GET() に切り替えます。
まず、URL のいくつかがエラーを返すかどうかを確認するために、GET() の possibly() 版を作成します。URL にアクセスできれば、接続オブジェクトが返され、その中に "status_code" 要素が含まれます。
結果そのものにこだわる必要はありません。GET() がエラーを返すのは、その URL が利用できないからです。ここで返すステータスコードの数値はウェブの専門用語のように感じるかもしれませんが、次の章で詳しく扱います。今は 200 が「問題なし」を意味することだけ覚えておいてください。
urls ベクトルはワークスペースに用意されています。purrr と httr も読み込まれています。
この演習はコースの一部です
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)