Fantaziya Premyer Liqası API-dən məlumatları necə əldə etmək olar

Orijinal yazı: https://www.oddsonfpl.com/how-to-get-data-from-the-fantasy-premier-league-api/

Hər kəsə salam! Fantaziya futbolu oynana bilmədiyi üçün normal olaraq göndərəcəyim şeydən bir az irəli gedirəm. Kədərli anları bilirəm Son vaxtlar həyatımda bir boşluq olduğunu başa düşdüm və növbəti mövsümə bir neçə ay qaldığımızı bilsəm də, mütəmadi olaraq / r / fantasypl subreddit-ə baxıram. Bəzilərinizi təəccübləndirə biləcək statistika və kodlaşdırma ilə maraqlanıram!

WordPress-in öz platformasını istifadə edərək aşkarladığım şey, platformalarından istifadə edərkən etdiyiniz fərdiləşdirmə proseslərin avtomatlaşdırılmasını, xüsusi verilənlər bazalarını istifadə etməyimi və öz növbəsində sayt sadəcə mənim fikrimdən yetərincə etməyib.

WordPress platformasından şikayət etmək və yenidən FPL API istifadə etməyə başlamağım kifayətdir. Bəziləriniz FPL-nin inkişaf etdiricilər üçün pulsuz bir API təmin etdiyini bilmir (və ya mənim kimi veb inkişafını bilən insanlar üçün). Mükəmməl bir inkişaf etdirici və ya son dərəcə bilikli bir proqramçı olmadığımı, sadəcə bunu maraqlı hesab edən və başqalarına kömək etmək istəyən birisi olduğumu söyləyərək bunu gözləməyə icazə verin.

Hər şeydən əvvəl API üçün URL-lər təqdim edəcəyəm:

  • https://fantasy.premierleague.com/drf/bootstrap-static - Bütün məlumatlar
  • https://fantasy.premierleague.com/drf/element-summary/176 - oyunçu məlumatları - Mahrez nümunə kimi.
  • https://fantasy.premierleague.com/drf/my-team/48049/font>teamId} - İstifadəçinin komanda kimliyini daxil etməsinə icazə verir

Linki aşağıdakı əsas URL-yə əlavə etmək üçün istifadə edilə bilən bir sıra digər alt URL-lər var:

Əsas URL: https://fantasy.premierleague.com/drf/

Nisbi əlaqələr:

  • / bootstrap (təsdiq olunduqda daha çox məlumat)
  • / bootstrap-statik
  • / bootstrap-dinamik
  • / Tədbirlər
  • / elementlər
  • / Element növləri
  • / Armaturlar
  • / komandalar
  • / Rayon
  • / köçürmələr (müəllif tələb edir)
  • / giriş / {entryId}
  • / girişlər (əvvəlki mövsümdə işləmir?)
  • / my-team / {teamId} (identifikasiya tələb olunur)
  • / leagues-enter / {teamId} (identifikasiya tələb olunur)
  • / leagues-classic / {leagueId} (üzv olmalıdır)
  • / leagues-classic-durum / {leagueId}
  • / leagues-h2h / {leagueId} (üzv olmalıdır)
  • / leagues-h2h-durum / {leagueId}

Bu URL-lərin bir çoxunun sizin üçün yararsız ola biləcəyini bilsəm də, əvvəlki mövsümdəki oyunçulardan məlumat almaq üçün bunlardan ikisini istifadə edəcəyik. Əvvəlcə / bootstrap-statik məlumatları istifadə edəcəyik. Linki tıkladığınızda görəcəyiniz ilk şey, aşağıdakı mətnə ​​baxarkən mövsümün bölmələrinə istinad edən "Fazlar" adlı bir hissədir:

{"Id": 1, "name": "Ümumilikdə", "start_event": 1, "stop_event": 38} - GW1-dən GW38-ə qədər tam ekran.

{"Id": 2, "name": "August", "start_event": 1, "stop_event": 3} - Avqust adının GW1-dən GW3-ə qədər göstərildiyi ID 2 zamanı.

Növbəti bir neçə tarixdə oyunçular haqqında məlumatların "Elements" də göstərildiyini görə bilərsiniz. ID: 1-dən bəzi məlumatları götürsəniz, çox qəribədir, David Ospina, oyunçular haqqında yalnız ondan çıxan bir ton məlumat olduğunu görə bilərsiniz:

[{"Id": 1, "photo": "48844.jpg", "web_name": "Ospina", "team_code": 3, "status": "a", "code": 48844, "first_name": "David", "second_name": "Ospina", "Squad number": 13, "News": "," Now_costs ": 48," News_Additional ":" 2018-04-29T20: 01: 18Z "," Chance_of_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_fall": 0, " In_dreamteam ": yalan," dreamteam_count ": 0," selected_by_percent ":" 0.2 "," form ":" 2.3 "," transfer__out ": 10172," transfer__in ": 3948," transfer_out_event ": 0," transfer_in_event ": 0 , "loan_in": 0, "loan_out": 0, "loaned_in": 0, "қарызlı_out": 0, "total_points": 19, "event_points": 8, "points_per_game": 3.8 "," ep_this ": "3.3", "ep_next": "1.8", "xüsusi": yalnış, "dəqiqələr": 380, "qollar_saylı": 0, "Asistlər": 0, "Qollar qarşı": 2, "Qollar qarşı": 3, "Öz qollarımız". ": 0," Penaltılar ": 0," Penaltilər ": 0," Sarı Kartlar ": 0," Qırmızı Kartlar ": 0," Qənaət ": 9," Bonus ": 1," Bps ": 86," Təsir ":" 75.8 "," Yaradıcılıq ":" 0.0 ", "Təhdid": "0,0", "ict_index": "7.7", "Ea_index": 0, "element_type": 1, "team": 1},

Bu bölmədən ən vaciblərindən bəziləri bunlardır:

MƏN İSTƏRDİM Kİ

veb_adı

komanda_kodu

dəyər_mövsüm

... və s. Tamam, əsasən PHP və HTML bilirəm və API-lər haqqında bir az məlumatım var. Buna görə PHP vasitəsilə zəng edərkən bunu localhost və API ilə yaradacağam. Yəni bu sizin üçün heç bir məna daşımır, elədir? Düzdü. Beləliklə, bunu mümkün qədər asanlaşdıraq. ADIMLAR!

Addım 1: XAMPP-i yükləyin və quraşdırın.

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

Həqiqətən sadədir, ancaq bu YouTube videosundakı addımları izləməkdə çətinlik çəkirsinizsə. Windows 10-u işləmirsinizsə, Youtube-da oxşar bir axtarış edin. Linux / Apple / Windows 7 / Dos altında XAMPP. Təəssüf ki, bu Chromebook ilə işləmir.

Addım 2: Mətn redaktorunu yükləyin

Şəxsən mən Sublime 3-dən istifadə edirəm, lakin bir çox insan Notepad ++ istifadə edir və bəzi çılğın insanlar hətta Notepad-dan da istifadə edirlər. Bu qədər dəli olmadığımız üçün Sublime və ya Notepad ++ ilə qalın.

Adım 3: kodlaşdırma əldə edin!

Mətn redaktorunuz və xampp qurulduqdan sonra kodlamağa başlayacağıq. Hər şeydən əvvəl, bu, son inkişafdan xoşum gəldiyi qədər tam funksional olacaqdır. Məqsəd insanlara API istifadə qaydaları və veb səhifədə necə nümayiş etdirilməsi barədə bir az məlumat verməkdir.

Əvvəlcə üslubdan başlayaq. Makul dərəcədə layiqli görünməsi üçün hər nöqtədə müəyyən bir stil tələb olunur. Sənədinizin ilk yarısı üçün kod: