Comment obtenir des données de l'API de Fantasy Premier League

Message original: https://www.oddsonfpl.com/how-to-get-data-from-the-fantasy-premier-league-api/

Salut à tous! Je m'éloigne un peu de ce que je publie normalement car je n'ai pas de Fantasy Football à jouer. Triste fois, je sais. J’ai découvert qu’il y avait un vide dans ma vie ces derniers temps et je me retrouve toujours à regarder régulièrement le / r / fantasypl subreddit, même si je sais que nous sommes dans quelques mois de la prochaine saison. Je suis intéressé par les statistiques et le codage, ce qui peut surprendre certains d’entre vous!

Ce que j’ai découvert en utilisant la propre plate-forme WordPress, c’est que la personnalisation que vous avez en utilisant leur plate-forme m’empêchait d’automatiser les processus, d’utiliser des bases de données personnalisées et d’avoir à utiliser des plugins qui ne suffisaient pas pour le site Web, mon avis.

J'en ai assez de me plaindre de la plate-forme WordPress et de revenir à l’utilisation de l’API FPL. Certains d'entre vous ne savent peut-être pas que FPL fournit une API que les développeurs peuvent utiliser gratuitement (ou des personnes comme moi qui feignent de connaître le développement Web). Permettez-moi de commencer par dire que je ne suis ni un excellent développeur ni un codeur extrêmement expérimenté, mais simplement une personne qui trouve cela intéressant et qui veut aider les autres.

Tout d’abord, je vais vous fournir les URL de leur API:

  • https://fantasy.premierleague.com/drf/bootstrap-static - Toutes les informations
  • https://fantasy.premierleague.com/drf/element-summary/176 - Informations sur les joueurs - Mahrez par exemple.
  • https://fantasy.premierleague.com/drf/my-team/48049/{teamId} - Permet à un utilisateur de saisir son identifiant d'équipe

Il existe un certain nombre d'autres sous-URL pouvant être utilisées pour ajouter le lien à l'URL de base ci-dessous:

URL de base: https://fantasy.premierleague.com/drf/

Liens relatifs:

  • / bootstrap (plus de données si authentifié)
  • / bootstrap-static
  • / bootstrap-dynamic
  • /événements
  • /éléments
  • / types-éléments
  • /agencements
  • / équipes
  • /Région
  • / transferts (nécessite une autorisation)
  • / entry / {entryId}
  • / entrées (ne fonctionne pas en pré-saison?)
  • / my-team / {teamId} (nécessite une autorisation)
  • / leagues-entry / {teamId} (nécessite une autorisation)
  • / leagues-classic / {leagueId} (doit être membre)
  • / leagues-classic-classings / {leagueId}
  • / leagues-h2h / {leagueId} (doit être membre)
  • / leagues-h2h-classement / {leagueId}

Bien que je sache que bon nombre de ces URL peuvent vous sembler inutiles, nous en utiliserons deux pour extraire les données des joueurs de la saison précédente. À l'origine, nous utiliserons les données / bootstrap-static. En cliquant sur le lien, vous pouvez tout d’abord voir une section appelée «phases», qui, en regardant le texte qui suit, concerne des sections de la saison:

{"Id": 1, "name": "Overall", "start_event": 1, "stop_event": 38} - Résultats globaux de GW1 à GW38.

{"Id": 2, "name": "August", "start_event": 1, "stop_event": 3} - Alors que l'ID 2, avec le nom d'août affiché de GW1 à GW3.

Dans le prochain morceau de données, vous pouvez voir que dans les «éléments», il vous montre des informations sur les joueurs. En prenant certaines des données de ID: 1, qui est assez curieusement David Ospina, vous pouvez voir qu’il existe une grande quantité d’informations sur les joueurs:

[{"Id": 1, "photo": "48844.jpg", "nom_Web": "Ospina", "code_équipe": 3, "status": "a", "code": 48844, "prénom_nom" »: "David", "second_name": "Ospina", "numéro de groupe": 13, "news": "", "now_cost": 48, "news_added": "2018–04–29T20: 01: 18Z", "chance_de_playing_this_round" : 100, "chance_of_playing_next_round": 100, "value_form": "0.5", "value_season": "4.0", "cost_change_start": - 2, "cost_change_event": 0, "cost_change_start_fall": 2, "cost_change_event": 0, "In_dreamteam": false, "dreamteam_count": 0, "selected_by_percent": "0.2", "formulaire": "2.3", "transferts_out": 10172, "transferts_in": 3948, "transferts_out_event": 0, "transferts_in_événement": 0, "loan_in": 0, "loan_out": 0, "loaned_in": 0, "loaned_out": 0, "total_points": 19, "event_points": 8, "points_per_game": "3.8", "ep_this": "3.3", "ep_next": "1.8", "spécial": faux, "minutes": 380, "buts_scored : 0, "passes": 0, "feuilles propres": 2, "objectifs_concédés": 3, "buts propres": 0, "penalty_saved": 0, "penalty_missed": 0, "cartes jaunes": 0, "cartes rouges": 0 , "Enregistre": 9, "bonus": 1, "bps": 86, "influence": "75.8", "créativité": "0.0", "menace": "0.0", "ict_index": "7.7" , "Ea_index": 0, "element_type": 1, "team": 1},

Parmi les plus importants de cette section, citons:

ID

nom_Web

code_équipe

valeur_saison

….etc. Bon, je connais surtout php, html et quelques notions sur les API. Je vais donc créer cela en utilisant mon hôte local, et en utilisant leur API, tout en passant un appel via php. Donc, cela ne signifie rien pour vous, non? Droite. Faisons-le simplement de la manière la plus simple possible. PAS!

Étape 1: Téléchargez et installez XAMPP.

https://www.apachefriends.org/index.html

C’est très simple, mais si vous avez du mal à suivre les étapes décrites dans cette vidéo sur youtube. Si vous n’exécutez pas Windows 10, effectuez une recherche similaire sur Youtube. XAMPP sous Linux / Apple / Windows 7 / Dos. Malheureusement, cela ne fonctionnera pas avec un Chromebook.

Étape 2: Télécharger un éditeur de texte

Personnellement, j'utilise Sublime 3, mais beaucoup de gens utilisent notepad ++, et certains fous utilisent même Notepad. Comme nous ne sommes pas si fous que ça colle à Sublime ou Notepad ++.

Étape 3: Obtenez du codage!

Donc, une fois que votre éditeur de texte et votre xampp sont installés, nous allons commencer à coder. Tout d’abord, cela va être complètement fonctionnel, même si j’aime le développement front-end, le but est de fournir aux gens des connaissances sur l’utilisation de l’API et de les présenter sur une page Web.

Tout d’abord, commençons le style, un style est nécessaire sur n’importe quel site pour lui donner un aspect à moitié décent. Voici le code pour vous la première moitié de votre document: