日々の記録

ほどよく書いてきます。

Ubuntuで毎日スクリプトを実行する

2020年08月08日 20時36分33秒 | プログラム

ノートパソコンをUbuntuにしたので、Ubuntuでいろいろやってみる。ノートPCのほうが消費電力少なそうなので、常時運用にはこっちのほうがいいのか、なんて思っている。

簡単なスクリプトなら、Raspberry Piで十分だけども持ってないので。

# -*- coding: utf-8 -*-
"""
Spyder Editor
 
This is a temporary script file.
"""
import urllib3
import datetime
import os
 
diff_day = 1 #if yester day, 1
 
root_url = "http://www.jma.go.jp/jp/radnowc/imgs/radar/"
area_codes = ["000","201","202","203","204","205","206","207","208","209","210","211","212","213","214","215","216","217","218","219"]
hour_list = ["00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23"]
min_list = ["00","05","10","15","20","25","30","35","40","45","50","55"]
 
 
def download(url, file_name):
    connection_pool = urllib3.PoolManager()
    resp = connection_pool.request('GET', url)
    f = open(file_name,'wb')
    f.write(resp.data)
    f.close
    resp.release_conn()
 
now = datetime.date.today().strftime("%Y%m%d")
yesterday = datetime.date.today() - datetime.timedelta(days=diff_day)
 
print(yesterday.strftime("%Y%m%d"))
i=0
 
download("http://www.jma.go.jp/jp/radnowc/imgs/radar/210/202008081425-00.png","testtest.png")
 
for areas in area_codes:
    new_path =  areas +"/" + yesterday.strftime("%m%d")
    if not os.path.isdir(new_path):
        print(new_path)
        os.makedirs(new_path)
 
for hours in hour_list:
    for mins in min_list:
        i += 1;
        for areas in area_codes:
            url = root_url +  areas +"/" + yesterday.strftime("%Y%m%d")+ hours + mins + "-00.png"
            print(url)
            print(areas +"/" + yesterday.strftime("%m%d") + "/{:04d}".format(i))
            download(url, areas +"/" + yesterday.strftime("%m%d") + "/{:04d}".format(i)+".png")
 

上記のコードを作って保存しておく。とりあえず名前はradar.pyとしておく。

で、定期的に
python radar.py
を実行できればよい。ただ、上記で実行すると、ルートフォルダ以下に作ってしまうので、次のようにディレクトリを移動してから実施というようなプログラムが必要。次の内容をradar.bhとでもしておいて

#! /bin/bash
cd /home/username/radar
python3 radar.py

hoge

crontab -eで

1 0 * * * radar.bh

などと登録するとよい。Gnu nanoで編集するとき、^Xなどの表示があるが、何だろうとおもったら、^XはEsc Esc xの順番にキーボードを叩けばいいらしい。文字入力と制御を切り替えるエスケープがEsc Escなんだろう、きっと。

 


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« PythonでWebのデータを集める | トップ | 2020年8月北海道 »

コメントを投稿

プログラム」カテゴリの最新記事