[PYTHON] Je n'aime pas être frustré par la sortie de Pokemon Go, j'ai donc créé un script pour détecter la sortie et le tweeter

résultat...

J'ai détecté la publication sur Twitter avant la notification de mon script, et je tweetais généralement manuellement. J'ai essayé d'exécuter à la fois ma méthode et la méthode de haminiku, mais aucun d'eux n'a détecté la libération. Pardon ...

(Ce n'est pas qu'il ne peut pas être détecté complètement, et maintenant qu'il est classé haut dans la recherche, il est fermement attaché.)

Déclencheur

Quand je le regarde sur Twitter, j'ai l'impression qu'il est sur le point de sortir au Japon, et je dois répéter sans cesse ce que je ne veux pas rechercher dans l'App Store à chaque fois parce que diverses informations sont compliquées, donc je suis frustré. Je me demandais si je pouvais notifier avec un script.

Post-scriptum: Cet article Si publié, connectez-vous à mon compte Twitter (@touyoubuntu) J'essaye de tweeter. Par tous les moyens! (Actuellement, je suis ivre dans les ténèbres de pyenv) → Terminé!

Il était difficile de vérifier les tweets de test car il a fallu un certain temps pour que l'application prenne effet, mais cela semble aller. Plus précisément, la fonction suivante est appelée à Gotcha ci-dessous.

tweet.py


def tweet():
    twitter = OAuth1Session(CONSUMER_KEY, client_secret=CONSUMER_SECRET, resource_owner_key=ACCESS_TOKEN, resource_owner_secret=ACCESS_TOKEN_SECRET)
    params = {"status": "Il semble que Pokemon Go soit enfin sorti au Japon! http://itunes.apple.com/jp/app/pokemon-go/id1094591345?mt=8"}
    req = twitter.post("https://api.twitter.com/1.1/statuses/update.json", params=params)
    print req.status_code

Comment ça fonctionne

Fondamentalement, l'API de recherche iTunes est utilisée. Je sais que le développeur est Niantic, Inc., j'ai donc copié le nom du vendeur Ingress et l'ai utilisé.

Je recherche pokemon go une fois toutes les 30 secondes (je suis nerveux parce que je n'ai pas bien lu les termes), et je recherche des produits Niantic, Inc. dedans.

pokemon_go_alert.py


import urllib
import urllib2
import json
import time

url = 'https://itunes.apple.com/search?term=pokemon+go&country=jp&media=software&entity=software&lang=ja_jp'

def func():
    while True:
        try:
            r = urllib2.urlopen(url)
            root = json.loads(r.read())
            for data in root['results']:
                if u'Niantic, Inc.' in data[u'sellerName']:
                    print "Gotcha!"
                    tweet()
                    return
            print "has not been released yet in Japan"
        finally:
            r.close()
        time.sleep(30.0)

func()

Je n'en ai pas fait la méthode main. En faisant cela, si n'a pas encore été publié ou que Gotcha! Est affiché toutes les 30 secondes, le script sera terminé.

Si vous modifiez cette partie Gotcha pour tweeter sur Twitter et raccourcissez un peu l'intervalle, la détection la plus rapide de la sortie de Pokemon Go n'est pas un rêve.

Résumé

J'ai écrit Python pour la première fois depuis longtemps. Je pense qu'il était regrettable qu'il n'y ait pas de sellerUrl, qui se trouve dans l'API iTunes, en termes d'amélioration de la précision.

N'hésitez pas à commenter si vous avez des problèmes ou des suggestions pour d'autres améliorations.

Pokemon Go Je me demande si ...

référence

Postscript

Il y avait une personne qui faisait la même chose en intégrant le processus de passer un appel lol [Stada] Script qui vous appellera à la sortie de Pokemon GO

Personnes qui permettent à Slack d'être notifié dans Ruby La recherche de Pokemon Go sur iTunes est trop pénible, j'ai donc préparé crontab

C'est vraiment intéressant que tout le monde fasse des articles en même temps lol

Recommended Posts

Je n'aime pas être frustré par la sortie de Pokemon Go, j'ai donc créé un script pour détecter la sortie et le tweeter
J'ai créé une fonction pour découper l'image de python openCV, alors veuillez l'utiliser.
J'ai fait GAN avec Keras, donc j'ai fait une vidéo du processus d'apprentissage.
Script pour tweeter avec des multiples de 3 et des nombres avec 3 !!
J'ai créé un outil pour informer Slack des événements Connpass et en ai fait Terraform
J'ai fait un script pour enregistrer la fenêtre active en utilisant win32gui de Python
Dans IPython, quand j'ai essayé de voir la valeur, c'était un générateur, donc je l'ai inventé quand j'étais frustré.
Je voulais connaître le nombre de lignes dans plusieurs fichiers et j'ai essayé de l'obtenir avec une commande
J'ai essayé de faire quelque chose comme un chatbot avec le modèle Seq2Seq de TensorFlow
J'ai fait une fonction pour vérifier le modèle de DCGAN
J'ai créé un serveur avec socket Python et ssl et j'ai essayé d'y accéder depuis le navigateur
J'ai converti le temps en un entier, je l'ai décomposé en facteurs premiers et j'ai fait un bot pour tweeter le résultat (matériel xkcd)
Je n'ai pas le sens du "quiz demandant un sens de l'investissement", alors j'ai essayé de le résoudre avec la force brute (simulation Python Monte Carlo)
J'ai essayé de l'étendre pour que la base de données puisse être utilisée avec le logiciel d'analyse de Wiire
[Introduction à StyleGAN] J'ai joué avec "The Life of a Man" ♬
J'ai créé un formulaire de tweet Nyanko avec Python, Flask et Heroku
J'ai créé un chat chat bot avec Tensor2Tensor et cette fois cela a fonctionné
J'ai essayé de créer un mécanisme de contrôle exclusif avec Go
J'ai créé un bot LINE qui me dit le type et la force de Pokémon dans la région de Garal avec Heroku + Flask + PostgreSQL (Heroku Postgres)
J'ai essayé de faire la différence de Config avant et après le travail avec le script pyATS / Genie self-made
J'ai exécuté GhostScript avec python, divisé le PDF en pages et l'ai converti en image JPEG.
J'ai fait un package npm pour obtenir l'ID de la carte IC avec Raspberry Pi et PaSoRi
Mettez à jour les données en les téléchargeant sur s3 d'aws avec une commande, et supprimez les données utilisées (en chemin)
Je ne veux pas l'admettre ... Représentation dynamique du système de Neural Network
[Django] a créé un champ pour saisir des dates avec des nombres à 4 chiffres
J'ai fait une minuterie de cuisine à afficher sur la barre d'état!
[Introduction à docker / docker-compose] La nouvelle corona a rallongé ma maison, et je voulais changer, mais je ne pouvais pas l'acheter à cause du revendeur, alors j'ai fait quelque chose qui pourrait être Mario.
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
J'ai fait une erreur en récupérant la hiérarchie avec MultiIndex of pandas
J'ai créé une fonction pour voir le mouvement d'un tableau à deux dimensions (Python)
J'ai fait un script pour afficher des pictogrammes
Je voulais utiliser le module de recherche d'Ansible2, mais cela a pris du temps, alors prenez note
Représenter des conteneurs dans un cadre imbriqué (schéma) dans Jupyter, et ce que j'ai étudié en cours de création
[Python] N'est-ce pas le plus élevé et le plus élevé si vous pouvez saisir les caractéristiques d'une entreprise avec nlplot?
Histoire de créer un planétarium virtuel [jusqu'à ce que les débutants créent un modèle avec un script et parviennent à l'assembler]
L'arbre.plot_tree de scikit-learn était très simple et pratique, j'ai donc essayé de résumer comment l'utiliser facilement.
Mémorandum de travail (pymongo) Partie 3. Je ne veux pas le réexaminer, alors prenez-en note (agrégé)
J'ai généré beaucoup d'images comme le favicon du calendrier Google avec Python et je l'ai incorporé dans le projet de Vue
J'ai créé un système qui décide automatiquement de s'exécuter demain avec Python et l'ajoute à Google Agenda.
J'ai fait un outil pour estimer le temps d'exécution de cron (+ débuts de PyPI)
Je t'ai fait exprimer la fin de l'adresse IP avec L Chika
Je veux écrire un élément dans un fichier avec numpy et le vérifier.
Spécifiez les positions de début et de fin des fichiers à inclure avec qiitap
J'ai créé un système avec Raspberry Pi qui mesure périodiquement l'indice d'inconfort de la pièce et envoie une notification LINE s'il s'agit d'une valeur dangereuse
J'ai réussi à le faire parce que la coutume de joindre un zip avec un mot de passe à un e-mail et de dire «Je vous enverrai le mot de passe séparément» est gênante.
J'ai créé un outil pour sauvegarder automatiquement les métadonnées de l'organisation Salesforce
Je n'ai pas compris le redimensionnement de TensorFlow, alors je l'ai résumé visuellement.
J'ai essayé de créer un modèle avec l'exemple d'Amazon SageMaker Autopilot
Notez que j'étais accro à la configuration de TensowFlow
J'en ai marre de Python, alors j'ai essayé d'analyser les données avec nehan (je veux aller vivre même avec Corona) -Partie 2)
J'en ai marre de Python, alors j'ai essayé d'analyser les données avec nehan (je veux aller vivre même avec Corona) -Partie 1)
J'ai créé une application Twitter qui décrypte les caractères de pré-connexion avec heroku (échec)
GradCAM avec 22 lignes de code. tf_explain peut être facile à utiliser, je le recommande!
J'ai essayé de gratter YouTube, mais je peux utiliser l'API, alors ne le faites pas.
J'ai essayé de notifier la mise à jour de "Devenir romancier" en utilisant "IFTTT" et "Devenir un romancier API"
J'ai créé un programme pour convertir des images en art ASCII avec Python et OpenCV
Ce serait sage si vous pouviez écrire quelque chose comme booléen et "A" ou "B" [Python] [Mais]