#はじめに
過去にIngressのスキャナのVer.upを誰よりも速く知る方法 v2を公開していました。
が、2018/03/30の日本時間の08:15頃でしょうか。Androidアプリのダウンロードサイトのレイアウトに大幅な変更があったようです。
これに伴い、ずーっと問題なく動作していたスクリプトに不具合が発生したため、修正版をリリースします。
#していたこと
・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
つまり、
```ってことです。
で、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 "AF_initDataCallback" | grep "ds:5" | sed -e "s/<[^>]*>//g" | cut -d, -f5 | 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アプリのバージョンの差異をチェックして、差異があったらメールするようにしていますので、仕組みに興味がある方は、[過去の記事](https://qiita.com/nuwaa/items/398506244d08dbd8cb57)と見比べてみてください。
#蛇足
現在の私は、通知はメールで飛ばすのではなく、telegramに飛ばしています。
また、この方法はスクレイピングですが、ゲーム内の情報の収集ではなく、ゲームそのもののバージョン情報を取得しているだけとなりますので、問題はないと認識しております。
問題があるとしたら「15分毎のチェック頻度をもうちょっと減らすべきでは」といった見方があるかも知れませんね。。。