[PYTHON] Je veux obtenir les données de League of Legends ②

Prêt à analyser les données

La dernière fois, j'ai regardé le contenu des données un par un, donc cette fois je voudrais en extraire uniquement les données que je veux. (Cliquez ici pour l'article précédent https://qiita.com/mattya_527/items/d9861db5e129d92c1637)

environnement

Au 1er février 2020 OS:windows10 Anaconda:4.8.1 python:3.7.6

Préparation des données

Les données que je veux cette fois sont le nombre de victoires et de pertes, le nombre de victimes, le nombre de morts, le nombre de passes décisives, le taux d'implication des victimes, le champion utilisé, le champion qui a joué, le couloir, le CS, l'or gagné, les dégâts infligés au champion, le temps du match. Aller. Le mode de jeu est réduit au rang.

En regardant ce que j'ai vérifié la dernière fois,

article Nom de l'objet Moule
Gagner ou perdre win bool
Nombre de victimes kills int
Nombre de décès deaths int
Nombre de passes assists int
champion championId int
voie lane, role str
CS totalMinionsKilled int
Gagner de l'or goldEarned int
Dommages au champion magicDamageDealtToChampions,physicalDamageDealtToChampions,total de trueDamageDealtToChampions int
Temps de jeu gameDuration int
S'il s'agit d'un jeu classé queueId=420 int

Extraction de données

Tout d'abord, donnez les noms à chacun pour limiter les joueurs à vous-même.

for i in range(10):
    match_data["participantIdentities"][i]["player"]
    print(match_data["participantIdentities"][i]["player"]["summonerName"])

image.png (Pour le moment, le SN des autres personnes est caché.)

Vous pouvez voir que pour vous limiter uniquement, vous pouvez juger s'il correspond à celui défini par le nom la dernière fois.

for i in range(10):
   if match_data["participantIdentities"][i]["player"]["summonerName"] == name: #Le nom de l'invocateur correspond-il?
      par_Id = match_data["participants"][i]["participantId"]
      print(par_Id) #Sortie participantId

#par_Sortir les données qui correspondent à l'ID
if match_data["participants"][par_Id-1]["stats"]["participantId"] == par_Id: #par_Id-1 correspond à l'index
    print(match_data["participants"][par_Id-1]["stats"]["win"]) #Gagner ou perdre
    print(match_data["participants"][par_Id-1]["stats"]["kills"]) #Nombre de victimes
    print(match_data["participants"][par_Id-1]["stats"]["deaths"]) #Nombre de décès
    print(match_data["participants"][par_Id-1]["stats"]["assists"]) #Nombre de passes
    print(match_data["participants"][par_Id-1]["championId"]) #Champion utilisé
    print(match_data["participants"][par_Id-1]["timeline"]["lane"]) #voie
    print(match_data["participants"][par_Id-1]["timeline"]["role"]) #rouleau
    print(match_data["participants"][par_Id-1]["stats"]["totalMinionsKilled"]) #CS **Y a-t-il autre chose que les sbires et le fluage de la jungle qui est nécessaire pour CS car ce n'est pas suffisant pour CS vu dans OPGG?
    print(match_data["participants"][par_Id-1]["stats"]["goldEarned"]) #Gagner de l'or
    print(match_data["participants"][par_Id-1]["stats"]["magicDamageDealtToChampions"] + match_data["participants"][par_Id-1]["stats"]["physicalDamageDealtToChampions"] + match_data["participants"][par_Id-1]["stats"]["trueDamageDealtToChampions"]) #Dommages au champion
    print(match_data["participants"][par_Id-1]["teamId"]) #100 est le côté bleu, 200 est le côté rouge
    print(match_data["gameDuration"]) #Temps de jeu(Secondes)

image.png

Je veux me limiter aux matchs classés, je vais donc porter ce jugement. Rank a queueId 420, donc

if match_data["queueId"] == 420:

Cela peut être identifié. La raison pour laquelle je veux affiner le classement est qu'à moins qu'il ne s'agisse d'un jeu de classement, les rouleaux et les voies seront AUCUN et je ne peux pas collecter les données souhaitées.

Résumé

Cette fois, j'ai pu obtenir les informations que je voulais en récupérant les données de mon seul match. Ensuite, je voudrais télécharger ces données dans la base de données. C'est pourquoi je vais étudier la base de données et recommencer.

Recommended Posts

Je veux obtenir les données de League of Legends ③
Je veux obtenir les données de League of Legends ②
Je veux obtenir les données de League of Legends ①
Je souhaite créer une application WEB en utilisant les données de League of Legends ①
Je veux obtenir des informations sur le fonctionnement de Yahoo Route
Keras Je veux obtenir la sortie de n'importe quelle couche !!
Je souhaite obtenir des attributs de données personnalisés de HTML sous forme d'éléments à l'aide de Python Selenium
Je veux obtenir le nom de la fonction / méthode en cours d'exécution
Quoi qu'il en soit, je veux vérifier facilement les données JSON
J'ai essayé d'obtenir des données CloudWatch avec Python
Je souhaite personnaliser l'apparence de zabbix
Je veux obtenir le chemin du répertoire où le fichier en cours d'exécution est stocké.
Je veux obtenir / exécuter des variables / fonctions / classes de fichiers externes à partir de Python
Une bibliothèque pour la science des données "Je veux faire ça" sur le bloc-notes Jupyter
Je veux détecter des images de chats d'Instagram
Je veux donner un group_id à une trame de données pandas
Je veux bien comprendre les bases de Bokeh
Je souhaite installer un package de Php Redis
[Python] J'ai essayé d'obtenir Json de squid ring 2
Je veux dire qu'il y a un prétraitement des données ~
Je souhaite augmenter la sécurité de la connexion SSH
Je veux résoudre SUDOKU
Je souhaite utiliser une source de données python dans Re: Dash pour obtenir les résultats de la requête.
Je veux pouvoir analyser des données avec Python (partie 3)
J'ai essayé d'obtenir les informations de localisation du bus Odakyu
Je souhaite spécifier une autre version de Python avec pyvenv
Je veux pouvoir analyser des données avec Python (partie 1)
[Python] Je souhaite obtenir un ensemble commun entre numpy
Je veux démarrer beaucoup de processus à partir de python
Je souhaite utiliser uniquement le traitement de normalisation SudachiPy
Je veux colorier des photos en noir et blanc de souvenirs avec GAN
Je veux pouvoir analyser des données avec Python (partie 2)
Je veux déterminer l'authenticité d'un élément du tableau numpy
Je veux connaître la nature de Python et pip
Je veux connaître la légende du monde des technologies informatiques
Comment obtenir un aperçu de vos données dans Pandas
J'ai essayé d'obtenir rapidement des données d'AS / 400 en utilisant pypyodbc
J'ai envoyé les données de Raspberry Pi à GCP (gratuit)
Je veux me débarrasser des avertissements d'importation de Pyright et pylint dans VSCode
Je veux gratter des images et les former
Je veux faire ○○ avec les Pandas
Je veux copier l'annotation de yolo
Je veux déboguer avec Python
[Pytorch] Je souhaite attribuer manuellement les paramètres d'entraînement du modèle
J'ai essayé d'obtenir une base de données sur les courses de chevaux en utilisant Pandas
Je veux lire la version html de la version "OpenCV-Python Tutorials" OpenCV 3.1
Je veux sortir le début du mois prochain avec Python
Comparaison des services informatiques GCP [Je souhaite l'utiliser sans serveur]
Je souhaite utiliser à la fois la clé et la valeur de l'itérateur Python
J'ai essayé d'obtenir une liste de noms AMI en utilisant Boto3
Je souhaite acquérir et répertorier les données boursières japonaises sans grattage
Je veux vérifier la position de mon visage avec OpenCV!
Technique Python pour ceux qui veulent se débarrasser des débutants
Je veux connaître la population de chaque pays du monde.
[Python] J'ai essayé d'obtenir diverses informations en utilisant l'API de données YouTube!
Je souhaite convertir des données détenues verticalement (type long) en données détenues horizontalement (type large)
J'ai essayé d'obtenir rapidement des données d'AS / 400 en utilisant pypyodbc Préparation 1
Je veux épingler Spyder à la barre des tâches