Pythonで毎日自動処理するプログラムをいくつか作っているのでその紹介です
24時間365日稼働させるためには相応の環境が必要で、私はWindows Serverを使っていますので同じように全自動環境が欲しい方は下記を参考にしてみてください
処理の全貌
まずは概要説明
どんな処理をしているのか文字起こしするとこんな感じ
- 毎朝8時にプログラムを定時期実行させて以降の処理を実行
- ポイントサイトのモッピーに対してクローリング実行
- スクレイピング結果は自分のブログサイト(Xserver)のデータベースに保存
- 新規案件とポイントの増減した案件を前日比較して絞り込み
- 絞り込み結果からブログ用のページを作成して投稿
- 絞り込み結果からXへポストする
- LINEで自分に処理完了を通知
ポイントサイトについて深掘りはしないのですが、クローリングから始まる一連の流れを自動化してるよって目線で見ていただけると
↓↓でもう少しだけ細かく説明します
毎朝8時にプログラムを定時期実行させて以降の処理を実行
Windows Serverを使っているのでWindows PCと同じようにタスクスケジューラを使えば定期実行の設定が簡単にできます
※詳しくは↓↓↓を見てもらえればわかるはず
設定次第で毎日決まった時間に実行したり、1時間毎に実行したりと好きなように繰り返し実行できます
ポイントサイトのモッピーに対してクローリング実行
モッピー自体に興味がある人は少ない気がするので詳細は割愛しますが、Pythonを使えばWEBサイトから欲しい情報を収集してリストアップすることが可能です
※クローリングに興味のある方は私のプロフィールからクラウドワークスやココナラでご相談ください
クローリング結果は自分のブログサイト(Xserver)のデータベースに保存
取得した情報の一部がこんな感じ
サーバーの中のデータベースに保存することでWeb画面から検索をかけたりすることが可能になるので結構使い勝手が良いです
実際にこのデータを使っているページが↓
https://point.javeo.jp/moppy_poiint_transition/
新規案件とポイントの増減した案件を前日比較して絞り込み
データベースにデータ保存してあればSQL(もっと言えばビューですが)を使って前日比較することが簡単になります
細かく言うと 「追加・削除・値の増加・値の減少」で、それぞれ秒で前日比較することもできます
絞り込み結果からブログ用のページを作成して投稿
Python使えば比較的簡単にWordpressに記事投稿できるんです
きっとAIを使えば文章もいい感じに可変にできる気もしますが今はそこまでの熱意が無いので文章は定形、↑で収集した前日比較の値から作成するテーブルを可変部分で毎日投稿しています
毎日投稿しているサイトは↓です
絞り込み結果からXへポストする
Pythonを使えば簡単にX(旧Twitter)にポストすることもできるんです
これまでよろしく、前日比較してポイントのUP・Down、新規広告をカウントしてポストの文章作ってWordpressの記事のURLを記載してポストしています
毎日ポストしているbotアカウントがこちら↓
LINEで自分に処理完了を通知
最後にサーバー側のメンテンナンスとかで稀にプログラムが実行されないことがあるのでPythonでLINE通知して終了
通知方法は↓↓を参照
ちなみに、途中でエラーがした場合はエラーを通知するようにしています
あとがき
色々手が込んだ作りにしたんですが、正直ポイントサイトに興味がある人があまりいないイメージなので、改めてまとめるとココまでやる意味とは!?と自問自答しています
なんですが、Windows Serverなど環境を整えればPythonでこんなことを全自動で毎日実行できる一例になったのでそこには価値があったと思っています
他にもいくつかWindows Serverで実行していることがあるのでどこかで紹介していきます
コメント