今度こそ自動化できそう!
CRONが登録できればひとまず完成
XREAの有料プランで申し込むとCRONできるみたい。1
2018.12.16(土) CRONを登録した。
これで手動更新はしなくて良くなりそう。経過は観察する。
注意点としてはCRONはカレントディレクトリからファイルを見ている様であった。
そのため、シェルスクリプトは実行できても下記の問題が発生した。
- シェルスクリプトの内部のファイルが見つからない
- フルパスで内部のファイルを指定してもプログラムでパスが書かれたコードがあれば同じ問題にハマる。
そこで、恐らく解決したであろう方法を示す。
要するに自分が手動で叩いていたときと同じ行動をすればよい。
具体的にはシェルスクリプトにCDコマンドでディレクトリを設定する命令文を追加したらいけた。 2
cd path #シェルスクリプトのパスを設定する
touch hoge.txt #pathにhoge.txtを作成する
python3 hoge.py #pathでhoge.pyを実行する
今回のミソ
ファイルが更新されたとは何か?今回、自分は下記の様に定義づけた。
同一ファイルに対して、ファイルサイズ(メモリサイズ)に差が発生したとき 3
今回の技術的な話題
URLからHTMLファイルを取得
import urllib.request
url = "https://www.google.co.jp/"
with urllib.request.urlopen(url) as response:
html = response.read()
メモリサイズを取得する
import sys
MemorySize = sys.getsizeof(html)
Python3とPython2が混在するとき
# Python3でプログラムを実行する
$ Python3 hoge.py
# Python2でプログラムを実行する
$ Python hoge.py
日付をYYYY/MM/DDの様な形に加工するには
import datetime
Today = datetime.datetime.today().strftime("%Y%m%d")
YYYYMMDD = Today[0:4] + "/" + Today[4:6] + "/" + Today[6:8]
日付の引き算
import datetime
Today = datetime.datetime.today().strftime("%Y%m%d")
Yesterday = (datetime.datetime.today() - datetime.timedelta(days=1)).strftime("%Y%m%d")
エンコーディングを指定してファイルを開く
import os
f = open("hoge.txt", "r", encoding="utf-8")
fore_text = f.read()
f.close()
その他は過去の記事の話題で何とかなった。
感想
他のサービスと比較すれば地味であること
個人開発の難点はデザインやプログラム、運営まで全て1人でするため
才能の集まりである会社の制作物に比べれば地味にはなりやすいのかもしれない。
だけど、自分から比べない様にしよう。開発できなくなるからだ。
ビジネス的な比較とは別な話であると感じた。
Webサービスを作る上で例外がたくさん出てくる
例外はたくさん出てくると割り切ると、とりあえずは行動できる。
精度はほどほどにすると気が楽
精度を求めると開発しにくくなるので、自分のモチベーション的に厳しければ精度を下げよう。個人開発なら自分で決定できる。気楽にいこう。
データを入力することは面倒である
サービスに使うデータを入力することは面倒だった。
しかし、データがあれば金になるのではないかと思うと必要な行為である。
だから、データ入力の仕事があるのだと感じた。
貢献性の高い仕事だと思えたので、もっと単価は上げるべきではないかと感じた。
売上に応じた追加報酬がほしいところ。