Импортируйте готовый список с веб-страницы на python

#python #html #list #import #python-requests

Вопрос:

Поскольку я новичок, мне нужен совет профессионалов.

Я хочу импортировать список из URL-адреса: http://45.77.228.203:3001/V2/battlesruleset?ruleset=Standardamp;mana=12amp;player=tyaazamp;token=undefinedamp;summoners=[5,16,27,38,49,167,178,189,145,156,145,189,224,259]

Поэтому я попробовал это с помощью кода:

 import requests
    
card_deck = list(requests.get("http://45.77.228.203:3001/V2/battlesruleset?ruleset=Standardamp;mana=12amp;player=tyaazamp;token=undefinedamp;summoners=[5,16,27,38,49,167,178,189,145,156,145,189,224,259]"))
    
print(card_deck[0])
 

Выход:

b'[{"summoner_id":"16","monster_1_id":"169","monster_2_id":"131","monster_3_id":"98","monster_4_id":"172","monster_5_id":"","monst'

Список, кажется, немного ускользнул. Мой желаемый результат был бы примерно таким:

{"summoner_id": "16", "monster_1_id": "169", "monster_2_id": "131", "monster_3_id": "98", "monster_4_id": "172" , "monster_5_id": "", "monster_6_id": "", "ruleset": "Standard", "mana_cap": "12", "tot": "31", "ratio": "96.77419354838709677400"}

Комментарии:

1. Что значит «поскользнулся»? Похоже, вы возвращаете объект json всех данных

2. Извините, я имею в виду, что он отрезан…

Ответ №1:

Как прокомментировал Крис, ответ в формате JSON.
Приведенный ниже код обрабатывает преобразование ответа в список json->python:

 import requests
from json import loads

card_deck_request = requests.get("http://45.77.228.203:3001/V2/battlesruleset?ruleset=Standardamp;mana=12amp;player=tyaazamp;token=undefinedamp;summoners=[5,16,27,38,49,167,178,189,145,156,145,189,224,259]")
card_deck_list = loads(card_deck_request.text)
card_deck_list[0]
 

выходы

 {'summoner_id': '16', 'monster_1_id': '169', 'monster_2_id': '131', 'monster_3_id': '98', 'monster_4_id': '172', 'monster_5_id': '', 'monster_6_id': '', 'ruleset': 'Standard', 'mana_cap': '12', 'tot': '31', 'ratio': '96.77419354838709677400'}
 

Комментарии:

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

2. Без проблем. Пожалуйста, отметьте мой ответ как принятый, если он удовлетворил ваш вопрос 😀