3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

#はじめに
2016/05/18の日本時間の5時頃、Android版、iOS版ともに、Ingressのスキャナ 1.100.0 がリリースされました。
隠していたわけではありませんが、常日頃から私はどうやってスキャナのVer.upを把握していたのか、その方法を紹介します。

#していたこと

・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 "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 | awk '$0 ~ /<li><span class="label">バージョン: <\/span>.*<\/li>/' | sed "s/li>/li>\n/g" | grep "バージョン" | sed -e "s/<[^>]*>//g" | 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

って内容で、バージョンの数値を引っ張り出してチェックしていました。
汚い記述ですけれど、実際に数年間これを稼働してきました。

このスクリプトは、15分毎のチェックの際にログも残してくれます。
一部抜粋しますと、

```text:android
2016/05/18 04:15:02 1.99.1
2016/05/18 04:30:02 1.99.1
2016/05/18 04:45:01 1.99.1
2016/05/18 05:00:01 1.100.0
2016/05/18 05:15:02 1.100.0
2016/05/18 05:30:01 1.100.0
ios
2016/05/18 04:15:02 1.99.1
2016/05/18 04:30:02 1.99.1
2016/05/18 04:45:02 1.99.1
2016/05/18 05:00:02 1.100.0
2016/05/18 05:15:02 1.100.0
2016/05/18 05:30:02 1.100.0

という具合です。
なので、いつ頃にどのバージョンがリリースされたのかを振り返ることが可能となっております。

#もちろん。。。

たとえば、こういう書き方でも同じようなことはできます。

ingress-ios-chk.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from selenium import webdriver
from bs4 import BeautifulSoup

driver = webdriver.PhantomJS()
driver.get("https://itunes.apple.com/jp/app/ingress/id576505181?mt=8")

data = driver.page_source.encode('utf-8')
soup = BeautifulSoup(data, "html.parser")

a = soup.find_all("li", class_="release-date")
b = a[0].find_next_sibling("li")
b.span.decompose()
itunes_ver = b.text.strip()
print (itunes_ver)

driver.close()

ですけれど、動作の軽快さとかからすると、シェルで組んでしまったほうが手っ取り早かったりします。

#というわけで、
緑でも青でも、イングレスやっていなくても、スクレイピングの方法だとか、シェルでの自動化とかに興味を持っていただけると、これまた、違う側面から

The world around you is not what it seems.
(あなたの周りの世界は、見たままのものとは限らない)

ってことになりますよ。

#参考
 ・http://osanai.org/50/
   ingress-ios-chk.pyを組むに当たって、参考にさせていただきました。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?