どうもバカルダーです。勉強のためにGoogleCloudのpythonとWordpressのPHPを使って自動更新スクレイピングWPサイトを作ってみました。
SWITCHやリングフィット、マスクの定価販売の在庫があると記事を自動更新します。ただし、15分に1回のスクレイピングなのであまり実用的ではありません。
※もっと精密に誰にも知られずにLine通知で在庫情報を知りたい!という方はTwitter等でお問合せ下さい。
twitterと連携させて記事が更新されるとツイートするようになっています。
この記事は具体的なコードでは無く、概略と参考サイトの紹介です。より詳細な手順は自分のブログに書こうと思います。
今回はWP側でPHPによるスクレイピングコードを書いて「wp_insert_post();」で記事更新を設定しました。
もちろんGoogleCloudFunctionのPythonでスクレイピングしてXMLRPC等でWPを更新しても良いと思います。
定期実行はWP-Crontrolというプラグインで設定しましたが、サイトへのアクセスが無いと実行されないという弱点があります。
参考サイト:
参考サイトではIFTTTで定期実行のトリガーを設定していますが、IFTTTだと最短の間隔が1時間なのでより細かく設定できるようにGoogle Cloud Platform(GCP)を使いました。
Google Cloud Functionsはサーバーレスでpython等のプログラムを実行できます。月に200万リクエストまでは無料で使えます。
Cloud Functionsでrequest.get(URL)のコードを書いて、Cloud Schedulerで定期実行の設定をしました。
参考サイト:
これで、GCPがWPサイトにアクセス⇒WPがスクレイピング実行⇒記事更新という流れが出来上がります。
WPとツイッターを連携するには
●プラグイン「WP to Twitter」を使う
●IFTTTでWPが更新されるとツイートされるように設定する
の2通りあります。WP to Twitterを使うにはTwitterAPIへの申請が必要で、これが結構面倒なので、IFTTTでも良いと思います。
あとお試しでWordPressを使ってみたい場合はスターサーバーに無料プランがあるのでおすすめです。
以上です。書いた人↓