こんにちは、エンジニアのオオバです。

前回記事からの続きです。

最低限の機械学習の知識を手に入れるため勉強中。

前回実装したOpenWeatherMapからJSONで結果を受け取ったものを、今回はファイルとして定期的に保存するということをやります。
本書では定期実行をcronで実現しています。

  1. Pythonファイルを実行するとOpenWeatherMapから東京の天気結果JSON取得
  2. 取得したJSONをローカルに保存する
  3. そのPythonファイル実行自体をcronで定期実行させる

このような処理を書いていこうと思います。

実行Pythonファイルのソースコードはコチラ

openweathermap2.py · GitHub

定期実行させるためのcronを設定します。

vim crontab -e  

上記のコマンドを実行するとcron設定ファイルが開きます。

openweathermap_crontab · GitHub

このように記述すると先のOpenWeatherMapの結果JSONが、weahter/weather2017-11-18-02-11.jsonというようなファイル名で毎分保存されます。

PythonでOpenWeatherMapから東京の天気を定期的に取得して保存する_0

しかし、1点落とし穴にハマりまして、今までPythonを実行した場合は、そのPythonファイルを基準にしたパスにJSONファイルが保存されていたのですが、cronで実行した場合は、/Users/ユーザーネーム/階層が基準となるということです。

このcronを実行するとJSONファイルは/Users/ユーザーネーム/配下に出来てしまうので注意が必要です。最初分かんなくて出来上がったファイルを探してしまいました。

オススメ記事
検証環境