[PYTHON] [Stada] Ein Skript, das Sie aufruft, wenn Pokemon GO veröffentlicht wird

Pokemon GO Wirbelwinde passieren auf der ganzen Welt. Ich habe ein Skript zum Mittagessen geschrieben, als die japanische Version von Pokemon GO veröffentlicht wurde. Dies ist der schnellste Pokemon-Gewinn (・ ㅂ ・) و

スクリーンショット 2016-07-15 15.08.00.png

die Architektur

Erhalten Sie den Status, indem Sie die iTunes-Seite über die HTTP-Kommunikation abrufen + Rufen Sie mit Twilio an

Aktuelle Statusübersicht von Pokémon GO

Als ich am 15. Juli Niantics Pokemon Official HP überprüfte, wurde die iOS-Version nicht veröffentlicht, und die Android-Version wurde bereits veröffentlicht. Die Android-Version wird auf der Softwareseite gefiltert und es scheint, dass japanische Benutzer sie nicht spielen können.

Wird erkannt, wenn die iTunes-Seite geöffnet wird

appstore.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
import requests


def app_store_is_open(_id):
    """
True, wenn der japanische App Store geöffnet ist
    :param _id: str
    :rtype: bool
    """
    headers = {'Content-type': 'application/json; charset=utf-8'}
    url_base = "https://itunes.apple.com/jp/app/apple-store/{}?ct=official&mt=8"
    url = url_base.format(_id)
    response = requests.get(url, headers=headers)
    assert response.status_code == 200  #Der HTTP-Status ist 200
    return "Kundenbewertungen" in response.text  #Es gibt Kundenbewertungen für offene Apps

ids = {
    "POKEMON GO": "id1094591345",
    "weiße Katze": "id895687962",
    "Puzzle": "id493470467",
    "Grabble": "id852882903",
}

for k, v in ids.items():
    print("{}: {}".format(k, app_store_is_open(v)))

Ausführungsergebnis


$ python appstore.py
Grabble: True
POKEMON GO: False
Puzzle: True
weiße Katze: True

Rufen Sie Twilio an

In Japan tätigen wir Anrufe über die Twilio-API, ein telefonisches Unternehmen, das in Zusammenarbeit mit AU entwickelt wird.

tel.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from twilio.rest import TwilioRestClient

ACCOUNT_SID = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
AUTH_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"

FROM_CALL_NUMBER = "819012341234"
TO_CALL_NUMBER = "819012341234"

client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN)
call = client.calls.create(to=TO_CALL_NUMBER, from_=FROM_CALL_NUMBER,
                           url="http://foo.com/call.xml")
print call.sid

Ausführungsergebnis


$ python tel.py
CA8b5ea1f08503ee8efc6aXXXXXXXX

Ich habe einen Anruf bekommen. Das Telefon vibriert etwa 30 Sekunden lang. upload_thumb.png

Fertiges Produkt

Kombinieren Sie die beiden Skripte, um das Skript zu vervollständigen, das Sie aufruft, wenn die App Store-Version von Pokemon GO veröffentlicht wird.

poke_check.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
import requests
from twilio.rest import TwilioRestClient


def app_store_is_open(_id):
    """
True, wenn der japanische App Store geöffnet ist
    :param _id: str
    :rtype: bool
    """
    headers = {'Content-type': 'application/json; charset=utf-8'}
    url_base = "https://itunes.apple.com/jp/app/apple-store/{}?ct=official&mt=8"
    url = url_base.format(_id)
    response = requests.get(url, headers=headers)
    assert response.status_code == 200  #Der HTTP-Status ist 200
    return "Kundenbewertungen" in response.text


def tel():
    ACCOUNT_SID = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    AUTH_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"

    FROM_CALL_NUMBER = "819012341234"
    TO_CALL_NUMBER = "819012341234"

    client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN)
    call = client.calls.create(to=TO_CALL_NUMBER, from_=FROM_CALL_NUMBER,
                               url="http://foo.com/call.xml")


def start():
    print("start")
    pokemon_go = "id1094591345"
    if app_store_is_open(pokemon_go):
        print("OPEN")
        tel()
    else:
        print("NOT OPEN")


if __name__ == '__main__':
    start()

Ausführungsergebnis


$ python poke_check.py 
start
NOT OPEN

Ich hoffe es öffnet sich bald

Nachtrag

Es gibt Leute, die das Gleiche tun ... http://qiita.com/touyoubuntu/items/af5d8e9e69e099945da1

Recommended Posts

[Stada] Ein Skript, das Sie aufruft, wenn Pokemon GO veröffentlicht wird
Es ist eine Huckepack-Geschichte über den Dienst, der "Nyan" zurückgibt, wenn Sie Ping drücken
Was ist in dieser Variablen (wenn das Python-Skript ausgeführt wird)?
Shell-Skript, das beim Erstellen von Dateien doppelte Namen nummeriert
Ein Memorandum, das Sie häufig mit Selen in Python verwenden
Schreiben Sie ein Skript in Shell und Python, um Sie in Slack zu benachrichtigen, wenn der Vorgang abgeschlossen ist
Was ist ein Systemaufruf?
Stellen Sie fest, ob beim Ausführen eines Python-Skripts eine Standardausgabe weitergeleitet wird