Bash
スクレイピング
ingress

IngressのスキャナのVer.upを誰よりも速く知る方法 v2

はじめに

過去にIngressのスキャナのVer.upを誰よりも速く知る方法を公開していました。
が、2018/01/19の日本時間の06:30頃でしょうか。iOSアプリのダウンロードサイトのレイアウトに大幅な変更があったようです。
これに伴い、ずーっと問題なく動作していたスクリプトに不具合が発生したため、修正版をリリースします。

していたこと

・cronで15分毎に以下のWebページをチェックしていました
 ・Android版
   https://play.google.com/store/apps/details?id=com.nianticproject.ingress&hl=ja
 ・iOS版
   https://itunes.apple.com/jp/app/ingress/id576505181?mt=8

つまり、
0,15,30,45 * * * * /home/nuwaa/scanner_chk/go
ってことです。

で、goの中身はというと、

cd /home/nuwaa/scanner_chk

wget -q -O ANDROID "https://play.google.com/store/apps/details?id=com.nianticproject.ingress&hl=ja"
AV=`cat ANDROID | sed "s/</\n</g" | grep "softwareVersion" | sed -e "s/<[^>]*>//g"`
echo `date +"%Y/%m/%d %H:%M:%S "`$AV >> android
OLD=`tail -n 2 android | head -n 1 | awk '{print $3}'`
NOW=`tail -n 1 android | awk '{print $3}'`
if [ $OLD != $NOW ]; then
  echo "Android" | mail -s "Scanner Update" **自分のメールアドレス**
fi

wget -q -O IOS "https://itunes.apple.com/jp/app/ingress/id576505181?mt=8"
IV=`cat IOS | grep "バージョン" |  sed -e "s/<[^>]*>//g"  | awk '{ sub("{\"data\".*$",""); print $0; }' | awk '{print $2}'`
echo `date +"%Y/%m/%d %H:%M:%S "`$IV >> ios
OLD=`tail -n 2 ios | head -n 1 | awk '{print $3}'`
NOW=`tail -n 1 ios | awk '{print $3}'`
if [ $OLD != $NOW ]; then
  echo "iOS" | mail -s "Scanner Update" **自分のメールアドレス**
fi

rm ANDROID IOS

となります。
上記スクリプトは前半がAndroidアプリのパーションの差異を、後半がiOSアプリのバージョンの差異をチェックして、差異があったらメールするようにしていますので、仕組みに興味がある方は、過去の記事と見比べてみてください。