初老のパイソナー

40才を手前にはじめてのプログラミングでPythonはじめました

ぷにるんず入荷お知らせプログラムをPythonで作成した結果

f:id:python40:20211123081921j:plain

ぷにるんず

娘ちゃんがクリスマスプレゼントをサンタさんにおねだりしてました。

 

サンタさん、ぷにるんずのパープルをください。

 

ぷにるんずはたまごっちみたいな育成ゲーム。どうやらバカ売れ中。Amazonを調べると12,000円とかになっていて「たか!」と定価を調べると6000円くらい。さすが転売ヤーたち・・・

ちなみに楽天などを調べてみても軒並み10,000円超え。転売ヤーだけじゃなくて楽天のショップとかもえげつないな。

ぷにるんずを定価で買える店を探す

ぷにるんずが売り切れならたまごっちが良いです。

と娘ちゃんは代替案もサンタさんへの手紙にしたためていたけれど、サンタさんとの連絡役をしている身としてはぷにるんずを手配してあげたい。

で、定価で買える店を探していたら見つけた。

ビックカメラヨドバシカメラ。ただ「在庫なし」「販売終了」になっている。前置きが長くなったけれど、ここでPythonの出番である。

ビックカメラにぷにるんずが入荷したらLINEで通知する

ビックカメラのぷにるんずのページを1日1回確認する

②在庫なしだったらスルー

③入荷していたら自分のLINEに通知

④すかさず購入する

完璧な作戦。

サイトのスクレイピングはこれまでにもやってきたのでBeautifulSoupでサクッと完了。今回の問題は定期的に確認させる方法だった。cronというのを使えば良いことは知っていたけれどサーバーでpythonを動かさねばならぬ。

エックスサーバーを借りていたのでこれを利用して実施。Anacondaを入れ、SSHでなんちゃらかんちゃらして無事インストール完了。

WinScpで鍵を作成したので、コンソールもこれでいじれるかなと思ったらうまく行かず、TeraTermを使わねばならないことに気付くのに少し時間がかかった。途中、うまくスクレイピングが効かなかったりしても、これまでの経験が役に立って順次解決。

URLが間違えてないのに404が返ってきたらヘッダー情報を追加することで通過。

自分PCでPythonのコードを作成後、サーバー上においたあとに躓いたのは、Pythonを実行するときに

import requests がうまく効かなかったこと。これは

import sys
sys.path.append('/home/*******/anaconda3/lib/python3.8/site-packages')

でパスを書いてあげるとちゃんと動いた。

def ~ という便利な奴も使えるようになってきて万々歳。

 

あとはcronを設定して終了。1日2回だけチェックして通知することにした。

ぷにるんず入荷お知らせプログラム作成後

ビックカメラのページに対してはできたので、あとはヨドバシカメラもやっておくか、と着手。ページを見るとオンラインショップでは「販売は終了しました」とあるものの、在庫がある店舗も存在する様子。

最寄り店舗を見てみると「●月●日までにご用意できます」のようなことがある。え?と思いつつ最寄り店舗に電話すると「あ、今入ってきましたので確保しました」と。

マジかよ。

と、結局プログラムは完成後に威力を発揮することはなかったものの、娘からのサンタさんへのお願いは叶えられることができたのでありました。

めでたしめでたし。