ヤマモトです。こんにちは。
最近頑張ってる、ジャンプ感想記事の自動化の件について。
現在はポチッとバッチを起動させると下書きがパッとできあがるところまでできているのだが、この「ポチ」がめんどくさいのである。
どうせならジャンプ発売日になったら勝手に記事の下書き作ってくれないかな~、なんて思うわけで。
ということで、今回はその企画のタスク整理をしていこうと思う。
(連休だし、あっさり目の記事の予感)
やりたいこと
やりたいことを端的に言うと以下の通り。
- ジャンプ発売日をトリガーにして、レンタルサーバー上でプログラム起動
- ジャンプ感想記事の下書きを自動作成
- webスクレイピングで連載作品一覧を取得
- webスクレイピングで表紙画像を取得、レンタルサーバー上にダウンロード
- 表紙画像をWordPressにアップロード
- 2-1, 2-3の情報を元に下書き記事をWordPressにアップロード
- プログラム終了時、次号のジャンプ発売日に起動するようにタスクスケジューラを設定
タスクの確認
上述の「やりたいこと」から「やらなきゃいけない」タスクを分解してみる。
ジャンプ発売日をトリガーにしてプログラム起動
1と3の項目が該当するが、これをタスクに分解するとこんな感じかな。
- ジャンプ発売日をwebスクレイピングする
- ジャンプ発売日をcrontabに設定する
- テスト実行
そもそもcrontabが分からない人はwikipedia見てください。
crontabには実行しているpythonのプログラム名を記載するイメージ。つまり、走っている最中のプログラムが次に走る日を自分で決めちゃう仕様。
う~ん。実はやったことないないんだけど、理論上はできる…よね??
ちなみにのちなみに、crontabの編集はpythonにモジュールがあるっぽい。
まあやってみるか。
ちなみに肝心のジャンプ発売日だが、今週のジャンプ情報のページの下の方に記載されているので、こいつを引っ張ってくれば良さそう。
webスクレイピングだぞ~~~ ←覚えたての技を披露したがりな人
ジャンプ感想記事の下書きを自動作成 on レンタルサーバー
自分の環境だともうできあがっているのだが、制限が多いレンタルサーバー上でできるか、って話。
一応、タスク分解してみるとこんな感じだろうか。
- レンタルサーバーにpythonのモジュールを入れる
- requests
- BeautifulSoup
- python-crontab
- 表紙画像の一時保存先を確保
- ディレクトリの作成
- 記事作成後に画像を自動削除 ※ 容量対策
- テスト実行
・・・あれ、ていうかレンタルサーバー内だったらわざわざAPIを使って記事を送信しなくてもサーバー内でhtmlファイルを作成して配置すればいけるんじゃね…??
なんて思ったけど、一旦無視しよう。うん。せっかく作ったスクリプトが無駄になるのはいy(ry
あとは、画像の保存先の確保。
ヤマモトが利用しているConoHa WINGだと、「ファイルマネージャー」たる機能があり、容量の範囲内であれば自由にディレクトリを作ったりファイルをアップロードもできるようだ。
先日、SSHでレンタルサーバーにログインするのも試したが、なるほど。画像保存も容易くできそうだな。
・・・ていうか今更だけど、ConoHa WINGって何でもできるじゃん。
レンタルサーバーってこんなに自由度高いとは思わなかったわ。
普通にファイルサーバーとしても使おうかな。
まとめ
ということで、確認したタスクは以下の通り。順番もちょっと整理してみた。
- レンタルサーバーにpythonのモジュールを入れる
- 表紙画像の一時保存先関連
- 画像保存先のディレクトリの作成
- 記事作成後に画像を自動削除する処理を追加
- ジャンプ発売日の取得関連
- ジャンプ発売日をwebスクレイピングする
- ジャンプ発売日をcrontabに設定する
うん。分解してみたら、できなくもなさそうだな。
目標は10月中にできたら嬉しいかな。連休は時間作れなさそうなので、まあ地道にやっていきましょか。
コメント