Как создать эту веб-страницу AJAX с помощью python? - PullRequest
1 голос
/ 05 ноября 2019

Я пытаюсь почистить стол игрока на сайте Fantasy Football League , используя python, но я немного новичок.

Iя знаю, что сайт называется этот внешний URL-адрес для получения данных игрока: https://fantasy.premierleague.com/api/bootstrap-static/

Моя проблема в том, что это в значительной степени недокументированный API. Как бы вы предложили узнать, как вызватьэтот URL, чтобы получить обратно:


  1. Игрок
  2. Имя
  3. Стоимость
  4. Продажа
  5. Форма
  6. Очки

SIDE-NOTE: Я вижу много людей, говорящих об этом «API» на Reddit, так что это очевидно возможно - я просто глуп, чтобы понять этокак повторить вызов AJAX, который делает сайт.

Большое спасибо!

1 Ответ

3 голосов
/ 06 ноября 2019

Попробуйте это так:

import requests
import json
import pandas as pd

resp = requests.get('https://fantasy.premierleague.com/api/bootstrap-static/')
data = json.loads(resp.text)  #the response is in json format

players =[] #initialize a list of all players
for i in data['elements']:
    #the relevant info is hidden in here
    player = [] #initialize a list of relevant items for each player
    player.append(i['second_name'])
    cost = i['now_cost']/10
    player.append(cost)
    sel = float(i['selected_by_percent'])
    player.append(sel)
    player.append(i['form'])
    player.append(i['total_points'])
    players.append(player)

#now load the list into a dataframe
columns = ['Player','Cost','Sel.','Form','Pts.']
df = pd.DataFrame(players, columns=columns)
df

Это должно вывести соответствующую информацию для всех 557 игроков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...