この記事を読むのに必要な時間は約 12 分です。
AIの時代はもうすぐそこまで来ていますよ?
みんなサボるの大好き!自動化の時代が近づいてきました。
この間、ちょっとした会話の中で自分のブログが全自動でフルオートだと言った日のアクセス数が飛びぬけて増えました。
また、数名の方が質問をしてくれて30分程度お話をさせて頂きました。
やっぱりみんなこういうの大好きですよね♪
最近周りで自動化の話がちらほら増えてきているのは事実です。また、AIを活用した言語処理の話などもたくさん出てくるようになってきて、時代が変わろうとしている節目にいるかもしれませんね。
個人的には雇用の問題に直結する話かなと思うところもありますが、労働力不足の話もありますのでどちらが良いかは何とも言えません。
結論だけ言うと、みんなサボるのが大好きだということです!
さて、このサボりの話ですが、本題としてBlogの更新について綴っていきたいと思います。
ある程度実践できる人もいるとは思いますが、殆どの人は挫折すると思います。
生易しい方法ではないのでそのつもりで見てくださいね。
Blog?サイト?
私のサイトはメイン以外は今のところすべて全自動 or 放置タイプの物です。
コンテンツが勝手に増えてく行くようにしています。
サイト型の物もあればブログ型の物もあります。
一概にどちらがよい?みたいな話ではありませんが、どちらのタイプであったとしても自動化は可能です。※たぶんサイト型の方が簡単かな?
全自動の例
それでは私のサイトで全自動にしているものを紹介します。※紹介の観点は自動化です。
サイト型放置タイプ:かんりったー
此方のサイトは基本的にコンテンツの追加はありません。
作ったらあとは何もしないタイプです。
ただ、中でグラフの生成をしていますが、その精製元データを取得するために
一日一回TwitterAPIを使ってIDの増減情報を収集しております。
この一日に一回動かしている動作はCronを使って実装しております。
Cronってなんぞや?な人は後程説明を記載しますのでそちらを見てください。
サイト型自動コンテンツ追加:Twitter人気アカウントフォロワー分析
こちらのサイトでは基本コンテンツは増えませんが、たまに勝手に増えます。
その点が自動化ですね。
このたまに増えるアルゴリズムですが、そもそもこのWebアプリは人気者だからと言ってすべてがすべて表示しているわけではありません。
表示されるための条件は内緒ですが、真の人気者と思われるアカウントだけを抽出するようにしています。
その際に、真の人気者の条件を満たした際にコンテンツが更新される仕組みとなっています。
人気者条件チェックとコンテンツの更新と前日比の情報すべてCronが一時間に一回チェックしてくれています。
ただ、人気者チェックとコンテンツの更新は毎時自動で動いていますが、前日比の情報は毎時動かして、動かしたタイミングが夜中であった場合だけ処理が実行されるようにさらに制御を加えています。
(´◉◞౪◟◉)
Blog型自動コンテンツ追加:激安特価サーチ
こちらも基本的には自動化の制御はCronです。一日一回楽天APIを使って情報を収集してきて表示させています。ただ、このコンテンツのミソは商品をただ紹介しているのではなく、値下げ品とポイントがアップしている商品です。
ポイントがアップしているという条件は簡単で、単にポイント数が多い物を出せばよいのですが、値下げというものはぶっちゃけ解析が難しいです。
そこで、この処理を行う際に解析が簡単にできるよう過去7日間の情報を腹持ちしています。
七日分のデータの平均値と当日の値段を比較して値下がったものを値下げ品として判断しています。
サイト型自動コンテンツ追加:SeekItem
このサイトは初期のころに作ったのでちょっと作り自体はいまいちですが、機能はなかなか秀逸ですね。
処理自体はCronによる自動化と楽天APIによるデータ収集で動かしています。
コンテンツは自動で増えていきますが、その情報を腹持ちして結構長い期間保管させています。その情報を推移データとして表示させる仕組みです。
すべて二つの技術です!
ここまで記載してきた内容についてですが、すべて CronとなにかしらのAPIで動かされています。
自動化を考えている方はこのCronとAPIを使いこなせなければ到底無理だと思ってください。
※私が作った物たちの場合です。APIはさすがに代用はできませんがCronは今どきGASで代用ができます。
それではCronとAPIの説明をしてみたいと思います。
Cron
クーロンと呼びます。
もともとSolarisやLinuxと言われているOSで使える自動化機構です。
分、時、日、曜日、年、など指定されたタイミングで「何か」を行うための所作を行うことができます。
私が使っているコアサーバーだとこんな感じです。
このように指定すれば毎時30分に何かを実行させることができます。
作れば所定の時間に決まったメールを送付する!なんてことも簡単にできます。
API
アプリケーションプログラミングインタフェースの略語です。
APIは特定の手続きに基づく操作をすれば結果を返してくれるものです。
最近APIと言えばWebAPIを指しますが、昔はプログラムで使われていました。
しかし、各企業が自社の情報をWeb経由で公開し始めたのを皮切りに一気に広まってきましたね。
APIを使えば 先ほど説明したCronで自動処理を定期的に行い、APIのお作法にのっとった結果を取得することができるわけです。
ここまで説明してきた内容ですが
何かの操作を決まった時間に実行する
です。
まさしく自動化のためのような内容ですね!!
それでは次に注意点の説明を行います。
注意!! 低品質コンテンツになってませんか? ブリッジページ
Googleが懇切丁寧に低品質なサイトの説明をしてくれています。
むかーしむかし、見つけて最近まで見つけることが出来なかったグーグルが紹介してくれている低品質なサイトの紹介例です。
名前がわからなかったのでたどり着けなかったのですが最近やっとわかりました。
っていうみたいですね。
自動化でサイトを作る場合、注意しなければこのブリッジページになっちゃいます。
自動化自体が悪いことではない。しかし、その内容ってあなたのページで見る必要はありますか?
これがブリッジページを作る際に意識しないといけない内容ですね。
手を加えてあなただけのオリジナルサイトにしないとグーグルは評価をしてくれません。
私はこの自動化処理の中で100%データベースを活用しています。
データベースを活用することにより、分析とグラフ化というオリジナルコンテンツ化ができています。
ただ単純に自動化して楽をしているわけなのですが、このようなひと手間を加えているということも併せて一緒にやっているんですよ
抽象的な作り方
具体的な作り方は紹介しません。
しませんというか、できないだけなんですけどね
(^^;
毎回毎回本能の赴くままに作っていますので設計書的な物がありません。動かして何か不具合があれば直していくようなアジャイル型の開発をしています。
細かい話は抜きにして抽象的な説明をします。
指定時間にCronでプログラムを起動
まずはcronを使って、プログラムを起動します。自動化前提ですのでおそらく一日一回か一時間に一回になると思います。
動かしたプログラムにはAPIに対して
●●な条件でデータを頂戴!
といった内容になります。
APIは条件を満たして入ればその内容に従って結果を返却してくれます。
データの格納
サーバーはAPIから取得したデータを受け取りますがほとんどの場合、そのまま扱えない形式でデータが帰ってきてしまいます。
そこで、サーバー上でデータの加工が必要になります。
大昔はCSVで一昔前はXML形式でした。そして最近はJSON形式が一般的ですね。
データベースが取り扱える文法に変換しデータを格納したりアップロードしていきます。
この時の文法がSQLという言語になるのですが、ここが一般の方だと難しかったりします。
因みに、私の作ったプログラムではデータベースに格納された状態でさらに内部のプログラムが成型加工を一時間に一回動いていたりして、その後の処理にかかる時間を節約していたりもします。
最後に取り出し。
最後にデータの取り出しですが、Webページにアクセスがあったタイミングなどでサーバーからデータベースに情報を取得しに行きます。
この際に、●●日より後のデータが欲しい!!なんて条件を指定することにより希望したデータを取得することができるようになるわけです。
Blogをやっている方であればほとんどWordPressだと思いますが、WordPressにはこの自動で記事を更新する仕組みがありますので、その枠組みに従い記事が更新されていくわけです。
ここまでの一連の流れを利用者がスマホなりパソコンでサイトにアクセスした際に自動で行うことによりBlogやサイトの自動更新処理を行っています。
ブログ(サイト)の自動更新出来そうですか
ここまで一通り処理を記載してみましたがいかがだったでしょうか?
自動化処理って慣れると簡単に作れるんですが、そこまでの間に
プログラムだったりAPIだったりデータベースだったりと覚えることがいっぱいです。
初めのcronだけを利用して自動的に何かを動かすことは結構簡単なのですが、今度はその何かを準備するだけで慣れていない人は一日ぐらい必要になります。
今からの人はチャレンジするのは全然OKだと思います。1年ぐらい頑張れば作れるようになっているとおもいますので興味がある人は、ぜひぜひチャレンジしてみてください。
(´◉◞౪◟◉)