Spielen Sie, indem Sie die Riot Games-API in Python First Half drücken

Dieser Artikel wurde als Artikel in kstm Adventskalender geschrieben.

Über Riot Games API

API von Riot Games, dem Betreiber des Online-Spiels "League of Legends" (allgemein bekannt als LoL) Wenn Sie diese API verwenden, können Sie den Kampfrekord jedes Einzelnen oder Teams im JSON-Format abrufen. Dieses Mal werde ich versuchen, damit zu spielen.

Ziel

Ich wünschte, ich könnte ein "etwas cooles" Profilbild (wie ein Twitter-Header-Bild) unter Verwendung der Schlachtrekorddaten von Ranglistenschlachten erstellen.

So rufen Sie die API auf

Bedingung: Sie haben ein LoL-Konto auf einem von Riot Games betriebenen Server https://developer.riotgames.com/ Wenn Sie zu API DOCUMENTATION-> FULL API REFERENCE springen, gibt es verschiedene APIs, und wenn Sie ein beliebiges Argument angeben, wird JSON zurückgegeben. Wenn Sie darauf zugreifen möchten, benötigen Sie den jedem Konto zugewiesenen API-Schlüssel. Überprüfen Sie ihn daher im Dashboard.

Ich werde es tatsächlich treffen

Bibliothek verwendet

lib.py


import urllib.request as urllib2
import json

Ich war süchtig nach "importieren", da es "urllib2" ist. Als ich es nachgeschlagen habe, scheint es, dass die gleiche Funktion mit "urllib.request" in "python3" erhalten werden kann, also werde ich dies als "urllib2" "importieren"

Zunächst aus der Beschwörer-ID-Erfassung

getSummID.py


SUM_NAME = "sumname" #Name des Beschwörers Ändern Sie ihn in einen beliebigen Namen
SUMMONER_V14 = "https://jp.api.pvp.net/api/lol/jp/v1.4/summoner/by-name/"
API_KEY = "api_key=XXXXXXXXXXXXXXXX" #Ändern Sie es in Ihren eigenen API-Schlüssel
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()

Die hier verwendete API ist summoner-v1.4. Wenn Sie sie tatsächlich erhalten, gibt sie ein Objekt des unteren Summoner-Namenstyps zurück. In diesem Objekt werden die Beschwörer-ID, die Profilsymbol-ID usw. gespeichert. Da die Beschwörer-ID erforderlich ist, um die Schlachtdatensatzdaten abzurufen, versuchen Sie, auf die ID wie "root [SUM_NAME.lower ()] [" id "]" zuzugreifen und diese abzurufen. Wenn Sie meinen Beschwörernamen verwenden und "6300501" sehen, sind Sie erfolgreich.

Diese Beschwörer-ID ist sehr wichtig, und Sie werden diese ID verwenden, um die mit dem Spieler verknüpften Daten abzurufen, z. B. die Kampfaufzeichnung.

Lassen Sie uns die Ergebnisse von Ranglistenschlachten erhalten

Die hier verwendete API ist stats-v1.3. Diese API erhält nicht die Daten für jedes Spiel, sondern die Daten für jeden Champion. Lassen Sie uns eine Liste der Kampfaufzeichnungen für jeden Champion anzeigen.

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("Champion ID:" + str(champion["id"]) + "Der Kampfrekord von" + str(stats["totalSessionsWon"]) + "Sieg" + str(stats["totalSessionsLost"]) + "Ist besiegt")
finally:
    r.close()

Wenn Sie versuchen, es zu bekommen, können Sie "SummonerID", "ModifyData" und "Champions List" erhalten. Wie oben erwähnt, kann diese API den Kampfrekord für jeden Champion abrufen, und die Daten werden im "Statistikobjekt" in der "Championsliste" gespeichert. Wenn Sie also die for-Anweisung verwenden, um die Anzahl der Gewinne und Verluste zu ermitteln und anzuzeigen, sieht dies wie folgt aus.

`Champion ID: 42 hat einen Rekord von 1 Sieg und 1 Niederlage Champion ID: 3 hat einen Rekord von 0 Siegen und 1 Niederlage Champion ID: 4 hat einen Rekord von 1 Sieg und 6 Niederlagen ... Champion ID: 0 hat einen Rekord von 22 Siegen und 28 Niederlagen Diese Champion-ID ist die jedem Champion zugewiesene ID, und der Champion-Name kann auch erhalten werden, indem er den beim nächsten Mal erläuterten statischen Daten zugeordnet wird. Übrigens ist diese Champion-ID: 0 die Gesamtdaten der Kampfaufzeichnungen aller Champions.

Es wird lange dauern, also wird es dieses Mal in der zweiten Hälfte fortgesetzt (ich möchte fortfahren)

Recommended Posts

Spielen Sie, indem Sie die Riot Games-API in Python First Half drücken
Tipps zum Erreichen der ATND-API mit Python
Spielen Sie Musik, indem Sie auf die inoffizielle API von Google Play Music klicken
Zweite Hälfte des ersten Tages des Python-Studiums Versuchen Sie, die Twitter-API mit Bottle zu erreichen
Abrufen der arXiv-API in Python
Klicken Sie in Python auf die Sesami-API
Klicken Sie auf die Web-API in Python
Greifen Sie mit Python auf die Twitter-API zu
Der erste Schritt von Python Matplotlib
Versuchen Sie es mit der Wunderlist-API in Python
Spielen Sie kontinuierlich die MV der ersten Python Skusta
Versuchen Sie, die Kraken-API mit Python zu verwenden
Tweet mit der Twitter-API in Python
Lesen Sie die Datei Zeile für Zeile mit Python
Lesen Sie die Datei Zeile für Zeile mit Python
MongoDB mit Python zum ersten Mal
Versuchen Sie, die Spotify-API in Django zu aktivieren.
Die erste Web-App, die von Python-Anfängern erstellt wurde
Der erste Schritt im Problem der Erfüllung von Einschränkungen in Python
Versuchen Sie es mit der BitFlyer Ligntning API in Python
Klicken Sie in Python auf die Firebase Dynamic Links API
Spielen Sie mit der von Yahoo bereitgestellten Stromverbrauchs-API
Grundeinstellungen bei Verwendung der foursquare-API mit Python
Spielen Sie YouTube in Python
Evernote-API in Python
Verschieben Sie die Alphabetzeichenfolge in Python um N Zeichen
Verwenden Sie die Such-API der National Parliament Library in Python
C-API in Python 3
Ich habe versucht, die API mit dem Python-Client von echonest zu erreichen
Lesen Sie englische Sätze, indem Sie mit Python auf die Google Übersetzungs-API klicken, ohne das verteilte Modul zu verwenden
Versuchen Sie, mit Python schnell und einfach auf die Twitter-API zuzugreifen
Ein Hinweis zum Aufrufen der Facebook-API mit dem Python SDK
[Python] Öffnen Sie die CSV-Datei in dem von Pandas angegebenen Ordner
Holen Sie sich Ihre Herzfrequenz von der Fitbit-API in Python!
Die erste API, die mit dem Python Djnago REST-Framework erstellt wurde
Kenntnisse über Mindestauslastungstests, die beim ersten Auslastungstest des API-Servers erworben wurden
Visualisieren Sie die Korrelationsmatrix durch Hauptkomponentenanalyse mit Python
Hit Mastodons API in Python
Finde Fehler in Python
Blender Python API in Houdini (Python 3)
Rufen Sie die API mit python3 auf.
Sortieren nach Datum in Python
Was ich durch das Schreiben einer Python Pull-Anfrage zum ersten Mal in meinem Leben gelernt habe
Spielen Sie Sounds in Python ab, vorausgesetzt, die Tastatur ist eine Klaviertastatur
Exportieren Sie die von der Twitter Streaming API erfassten Inhalte im JSON-Format
[In der Abbildung verstanden] Verwaltung der virtuellen Python-Umgebung durch Pipenv
Überprüfen Sie, ob der von PHP generierte Passwort-Hash in Python übereinstimmt
Lesen Sie die Standardausgabe eines Unterprozesses zeilenweise in Python
Ist es überhaupt möglich, das Gesetz der Abhängigkeitsumkehr (DIP) in Python zu realisieren?
Python-Anfänger nutzen die inoffizielle API von Google Play Music, um Musik abzuspielen
Erste einfache Regressionsanalyse in Python
Erster Python 3 ~ Der Beginn der Wiederholung ~
Python im Browser: Brythons Empfehlung
[Python] Klicken Sie auf die Google Übersetzungs-API
Holen Sie sich den Desktop-Pfad in Python