Jouez en accédant à l'API Riot Games en Python Première moitié

Cet article a été écrit sous forme d'article dans kstm Advent Calendar

À propos de l'API Riot Games

API fournie par Riot Games, l'opérateur du jeu en ligne "League of Legends" (communément appelé LoL) Si vous utilisez cette API, vous pouvez extraire le record de bataille de chaque individu ou équipe au format JSON, donc cette fois je vais essayer de jouer avec.

Cible

Ce serait bien si nous pouvions créer une image de profil "plutôt cool" (comme une image d'en-tête Twitter) en utilisant les données d'enregistrement des batailles classées.

Comment appeler l'API

Condition: Vous disposez d'un compte LoL sur un serveur exploité par Riot Games https://developer.riotgames.com/ Si vous passez à DOCUMENTATION API-> RÉFÉRENCE API COMPLÈTE, il existe différentes API et si vous donnez un argument arbitraire, JSON sera renvoyé. Si vous voulez l'atteindre, vous avez besoin de la clé API attribuée à chaque compte, alors vérifiez-la sur le tableau de bord.

Je vais vraiment le frapper

Bibliothèque utilisée

lib.py


import urllib.request as urllib2
import json

J'étais accro à ʻimport car c'est ʻurllib2, donc quand je l'ai recherché, il semble que la même fonction puisse être obtenue en utilisant ʻurllib.request dans python3, donc je vais ʻimport ceci comme ʻurllib2`

Tout d'abord, à partir de l'acquisition de l'identifiant d'invocateur

getSummID.py


SUM_NAME = "sumname" #Nom de l'invocateur Changez-le en celui que vous voulez
SUMMONER_V14 = "https://jp.api.pvp.net/api/lol/jp/v1.4/summoner/by-name/"
API_KEY = "api_key=XXXXXXXXXXXXXXXX" #Changez-le en votre propre clé API
try:
    s = urllib2.urlopen(SUMMONER_V14 + SUM_NAME + '?' + API_KEY)
    summ = json.loads(s.read().decode('utf-8'))
    SUM_ID = summ[SUM_NAME.lower()]["id"]
    print(SUM_ID)
finally:
    s.close()

L'API utilisée ici est summoner-v1.4 Lorsque vous l'obtenez réellement, elle renvoie un objet du type de nom d'invocateur inférieur. L'ID d'invocateur, l'ID d'icône de profil, etc. sont stockés dans cet objet. Puisque l'ID d'invocateur est requis pour obtenir les données d'enregistrement de bataille, essayez d'accéder et d'obtenir l'ID comme root [SUM_NAME.lower ()] [" id "]. Si vous utilisez mon nom d'invocateur et que vous voyez «6300501», vous réussissez.

Cet identifiant d'invocateur est très important et vous utiliserez cet identifiant pour obtenir les données associées au joueur telles que le record de bataille.

Obtenons les résultats des batailles classées

L'API utilisée ici est stats-v1.3 Cette API n'obtient pas les données pour chaque match, mais les données pour chaque champion. Affiche une liste des records de bataille pour chaque champion.

getRankedStats.py


try:
    r = urllib2.urlopen(RANKED_STATS_V13 + '?' + SEASON + '&' +API_KEY)
    ranked = json.loads(r.read().decode('utf-8'))
    champions = ranked['champions']
    for champion in champions:
        stats = champion["stats"]
        print("Identifiant de champion:" + str(champion["id"]) + "Le record de bataille de" + str(stats["totalSessionsWon"]) + "Gagner" + str(stats["totalSessionsLost"]) + "Est vaincu")
finally:
    r.close()

Si vous essayez de l'obtenir, vous pouvez obtenir summonerID, modifyData et champions list. Comme mentionné ci-dessus, cette API peut obtenir le record de bataille pour chaque champion, et les données sont stockées dans «l'objet stats» dans la «liste des champions». Donc, si vous utilisez l'instruction for pour obtenir le nombre de victoires et de pertes et l'afficher, ce sera comme suit.

`Champion id: 42 a un record de 1 victoire et 1 défaite ID de champion: 3 a un record de 0 victoire et 1 défaite Champion id: 4 a un record de 1 victoire et 6 défaites ... Champion id: 0 a un record de 22 victoires et 28 défaites. Cet identifiant de champion est l'identifiant attribué à chaque champion, et le nom du champion peut également être obtenu en l'associant aux données statiques expliquées la prochaine fois. À propos, cet identifiant de champion: 0 est le total des données des records de bataille de tous les champions.

Ça va être long, donc cette fois ça va continuer en seconde période (je veux continuer)

Recommended Posts

Jouez en accédant à l'API Riot Games en Python Première moitié
Conseils pour accéder à l'API ATND avec Python
Écoutez de la musique en accédant à l'API non officielle de Google Play Music
Deuxième moitié de la première journée d'étude de Python Essayez d'utiliser l'API Twitter avec Bottle
Obtenir l'API arXiv en Python
Frappez l'API Sesami en Python
Accédez à l'API Web en Python
Accéder à l'API Twitter avec Python
La première étape de Python Matplotlib
Essayez d'utiliser l'API Wunderlist en Python
Jouez en continu le MV du premier Python Skusta
Essayez d'utiliser l'API Kraken avec Python
Tweet à l'aide de l'API Twitter en Python
Lisez le fichier ligne par ligne avec Python
Lisez le fichier ligne par ligne avec Python
MongoDB avec Python pour la première fois
Essayez d'accéder à l'API Spotify dans Django.
La première application Web créée par des débutants en Python
La première étape du problème de réalisation des contraintes en Python
Essayez d'utiliser l'API BitFlyer Ligntning en Python
Accédez à l'API Firebase Dynamic Links en Python
Jouez avec l'API de consommation d'énergie fournie par Yahoo
Paramètres initiaux lors de l'utilisation de l'API foursquare avec python
Jouez à YouTube en Python
API Evernote en Python
Décale la chaîne de l'alphabet de N caractères en Python
Utiliser l'API de recherche de la Bibliothèque du Parlement national en Python
API C en Python 3
J'ai essayé de frapper l'API avec le client python d'echonest
Lisez des phrases en anglais en accédant à l'API Google Translation avec Python sans utiliser le module distribué
Essayez d'utiliser l'API Twitter rapidement et facilement avec Python
Une note sur l'utilisation de l'API Facebook avec le SDK Python
[Python] Ouvrez le fichier csv dans le dossier spécifié par pandas
Obtenez votre fréquence cardiaque à partir de l'API fitbit en Python!
La première API à créer avec le framework Python Djnago REST
Connaissance du test de charge minimale acquise lors du premier test de charge du serveur API
Visualisez la matrice de corrélation par l'analyse des composants principaux avec Python
Hit API de Mastodon en Python
Trouver des erreurs en Python
API Blender Python dans Houdini (Python 3)
Appelez l'API avec python3.
Trier par date en python
Ce que j'ai appris en écrivant une Pull Request Python pour la première fois de ma vie
Jouez des sons en Python en supposant que le clavier est un clavier de piano
Exporter le contenu acquis par Twitter Streaming API au format JSON
[Compris dans la figure] Gestion de l'environnement virtuel Python par Pipenv
Vérifiez si le hachage de mot de passe généré par PHP correspond en Python
Lire la sortie standard d'un sous-processus ligne par ligne en Python
Est-il possible de réaliser la loi de l'inversion de dépendance (DIP) en Python en premier lieu?
Les débutants en Python utilisent l'API non officielle de Google Play Music pour jouer de la musique
Première analyse de régression simple en Python
First Python 3 ~ Le début de la répétition ~
Python dans le navigateur: la recommandation de Brython
[Python] Accédez à l'API Google Translation
Obtenez le chemin du bureau en Python