別の抽出器
前の演習では、H2 ヘッダーからテキストコンテンツを抽出する関数を作成しました。
ここでは別のことを試します。特定のページに存在するすべてのリンクを抽出したいとします。これを行うには、2つの httr 関数を呼び出す必要があります。html_nodes() に css 引数として "a" を指定します(a はリンクを表すHTMLタグです)。さらに、ノードから特定の属性を抽出する html_attr() を使います。今回抽出する属性はリンク先を示す "href" です。
purrr と rvest は読み込まれています。ワークスペースには引き続き 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