を読んでいるのですが、そこにウェブスクレイピングの方法が書いてありましたので早速、練習をしてみようと思います。
こちらのYahoo!ファイナンスの配当利回りランキングのデータをスクレイピングしてみます。
まずは、tidyverseパッケージとrvestパッケージの読み込みをします。
まず、読み込むURLを登録します。
read_html関数で読み込みます。
html_nodes関数でテーブルの部分だけを取り出します。
何個のテーブルを読み込んだのか確認します。
一つだけでした。html_table関数でこのテーブルをデータフレーム型に変換します。
str関数で構造を確認します。
取引値という名前のコラムが2つありますね。これは一つ目のコラムを日付に変更しましょう。それと、掲示板というコラムは必要ないですね。
コラム名を上書きして変更しました。
select関数でkeijibanを削除しました。
str関数で確認してみます。
rank, code, price, dps, yieldは本来は数値型でないといけないデータですが、文字列型になっています。
rankを全部表示させて、どうなっているかみてみましょう。
51番目のデータが、"順位"と数字でなくて文字列になっていますね。だからrank全体が文字列型になっているのですね。
他の列の51番目のデータも確認しましょう。
51番目のデータが全部コラム名になっていますね。削除してしまいましょう。
view関数でtabを表示してみます。
このようにYahoo!ファイナンスの配当利回りランキングをR言語に取り込むことができました。
rankやkodeなど文字列型になっているデータを数値型に変換しなくてはいけないのですが、少し疲れましたので、次回に持ち越したいと思います。
このデータをCSVファイルに出力して、次回からはこのCSVファイルを読み込むようにします。
read_csv関数で読み込んでみます。
あ!yield以外は数値型になりましたね!
それなら、ここでyieldも数値型にしてしまいましょう。
%の記号をなくして、as.numeric関数で数値にすればいいです。
summary関数でtabをみてみましょう。
今回は以上です。