始める無料で始める

別の抽出器

前の演習では、H2 ヘッダーからテキストコンテンツを抽出する関数を作成しました。

ここでは別のことを試します。特定のページに存在するすべてのリンクを抽出したいとします。これを行うには、2つの httr 関数を呼び出す必要があります。html_nodes()css 引数として "a" を指定します(a はリンクを表すHTMLタグです)。さらに、ノードから特定の属性を抽出する html_attr() を使います。今回抽出する属性はリンク先を示す "href" です。

purrrrvest は読み込まれています。ワークスペースには引き続き urls ベクターがあります。

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

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

コースを見る

演習の手順

  • css 引数を "a" に設定した html_nodes() をあらかじめ引数指定して用意します。

  • html_attr() をあらかじめ引数指定した版として、href() 関数を作成します。

  • href()get_a()read_html() を合成して新しい関数を作ります。

  • この新しい関数を urls ベクターに対して map します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Create a partial version of html_nodes(), with the css param set to "a"
get_a <- ___(html_nodes, ___)

# Create href(), a partial version of html_attr()
href <- ___(___, name = "href")

# Combine href(), get_a(), and read_html()
get_links <- ___(___, ___, ___)

# Map get_links() to the urls list
res <- ___(urls, ___) %>%
  set_names(urls)

# See the result
res
コードを編集して実行