2019.05.19この記事は約16分で読めます。株ドラゴンの年初来安値からの値上がり率ランキングに大化け銘柄があるウルフ村田いわく、株ドラゴンの年初来安値からの値上がり率ランキングを毎日チェックしておくと、その中に大化け銘柄、スター銘柄が存在しているとのことです。毎日ページ見ていても中々新しい銘柄が登場したことに気づきません。あと、ページ数が多いので、毎晩ポチポチとクリックしてページを遷移していくのが面倒だと思い、代わりにプログラミングで一発で可視化できるようにしてみようと思いました。最初に株ドラゴンのページをスクレイピングしてよいのかどうか念の為確認します。トップページの最後に/robots.txtと追記してページに飛びます。https://www.kabudragon.com/sitemap.xmlDisallowのところに書かれているのが検索してはいけないフォルダになるので、どうやら2009年くらいまでのランキングはアクセスするなと言っています。robots.txtの見方をご存じない方はこちらで確認してください。https://www.howtonote.jp/google-search-console/robots-txt/index1.html201、202というフォルダが書かれていますが、2010年以降のフォルダもだめということでしょうか??それならちゃんと「2010」と書いてほしいものです。2010年以降のrankingは明示的にだめと言われていないですし、1日1回実行できれば良いのでそれほど負荷はかからないかなということでスクレイピングしていきましょう。大量にアクセスしないように心がけます。BeautifulSoupでスクレイピングスクレイピングのモジュールはいくつかありますが、株ドラゴンのページは割と静的なページなので、BeautifulSoupでやりたいと思います。各ページの情報をデータフレーム化まずは、各ページのランキングのテーブルをpandasのデータフレームに変えます。コードをざっと示します。dates.append(strp_date)株ドラゴンの年初来安値からの値上がり率ランキングのページは、1ページに最大200銘柄表示されます。get_table関数は各ページのランキング表をpandasのデータフレームに変換する関数になります。29行目に自分が可視化したいランキング推移の期間を設定します。ここでは、2019年1月1日〜2019年5月19日が設定されています。while文で、自分が設定した期間分の日付を1日ずつ繰り返しページを取得しているのですが、市場が休みの日はデータがありません。そのあたりのif文がget_table関数内に入っています。上記を実行すると下のような実行結果が順々に現れると思います。'10,160']2019/01/12休場2019/01/13休場2019/01/14休場ランキング推移可視化それでは銘柄毎にランキングの推移を可視化します。先程同様とりあえずコードをざっと下に示します。plt.show()出力結果はこんな感じです。前半は銘柄名と銘柄コードを辞書化しています。その後、銘柄毎に青色の折れ線グラフでプロットしていきます。ランキングが上位ほど上に表示されるようにしたかったので、縦軸は-201〜0に設定しています。-1が1位という意味ですね。同時に値上がり率も一緒にオレンジ色でプロットしています。同時にプロットすることもできます。出力結果は、前半は過去にランキング上位で消えていった銘柄あるいはランキング上位でプロットが上に張り付いている銘柄が表示されます。後半に表示される銘柄をみると、つい最近ランキング入りしてきたということがわかります。最近ランクインしてきた銘柄を注視していこうという感じです。私がスクレイピングで参考にした書籍はこちらになります。勉強したいという方は参考にしていただければと思います。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。29アーカイブ2020年1月2019年12月2019年11月2019年10月2019年9月2019年8月2019年7月2019年6月2019年5月topix脱サラ、転職、副収入に役立つかもしれないことをブログに書き綴っています。29アーカイブ2020年1月2019年12月2019年11月2019年10月2019年9月2019年8月2019年7月2019年6月2019年5月topix脱サラ、転職、副収入に役立つかもしれないことをブログに書き綴っています。topixをフォローするスポンサーリンクタイトルとURLをコピーしました。