1. 学ぶ
  2. /
  3. コース
  4. /
  5. purrr で学ぶ中級関数型プログラミング

Connected

演習

read_lines() の possibly() 版

引き続き、スクレイピング対象として渡された一連のURLを使います。アクセスできないURLを見つけるために、いくつかの方法を試します。なぜかというと、Webスクレイピングの最初のステップは、そのURLにアクセス可能かどうかを確認することだからです。いま書いているコードはこの判定に役立ちます。

前の演習では、read_lines() 関数を safely() でラップしました。この演習では possibly() 関数を使います。

Webの用語では、404はそのページが利用できないことを示します。この数値を otherwise 引数として使います。

また、read_lines() はWebページを読むと長さ n のベクトルを返すので、これらは paste() 関数を使って結合します。

urls ベクトルは用意されています。

指示

100 XP
  • read_lines() 関数を possibly() でラップし、失敗した場合は 404 を返すようにしましょう。

  • 作成した関数をURLリストに対して map し、その結果をそのまま set_names() にパイプで渡します。

  • 各要素を、paste() 関数で collapse 引数を " " に設定して結合し、長さ1の文字列にします。

  • 値が 404 と等しい要素だけを残します。