PythonでWebスクレイピングと可視化テスト(2)

今回は簡単なWebスクレイピングをPythonで試してみます。前回のスクレイピングに続いて、今回はそのデータを可視化するコードを書いていきます。

目的

前回でYahoo!ファイナンスのページからドル円データを毎分スクレイピングして、csvファイルに保存するシステムを作りました。

これをプロットして可視化します。

実行環境

  • CentOS 7
  • Python 3.6.5
  • pandas
  • matplotlib
  • JupyterLab
  • ユーザー: test
  • 作業ディレクトリ: /home/test/

データのプロット

スクリプト

以下にデータをプロットさせるコードをusd_plot_cron.pyとして書きました。

18行目以降がメインの関数です。今回は実行後、プロットデータをpngファイルとして保存するために、13行目と27行目でコードを足しています。

としておくことで、usd_plot.pngとしてプロットデータを保存することができます。

cronによる自動化

上のプログラム今回は毎時実行させて、画像を更新させたいと思います。

このcrontabファイルを有効化します。

プロットデータの確認

先ほど保存したプロットデータを確認します。データは2018/6/10~2019/1/9間のものです。

参考のためにYahoo!ファイナンスのチャートも載せておきました。このサーバーを動かしていない時期もあったので、データを取得できていない部分もありますが、2018年末の下降なども取得、プロットできています。

まとめ

今回はpythonでWebスクレイピングからプロットデータを作成するまで、簡単な自動化のシステムを作ってみました。 データを保存しているcsvファイルが、取得開始から約6カ月経過現在、6GBになってしまいました。csvでも毎分取得は反省です。

コメント