Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 22, 2022 16:49:28

elena211
Зарегистрирован: 2022-04-22
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

REQUESTS, http запросы. помогите выполнить задание

.

Отредактировано elena211 (Май 7, 2022 20:04:14)

Офлайн

#2 Апрель 22, 2022 18:44:40

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

REQUESTS, http запросы. помогите выполнить задание

Ну, вот используй

https://superheroapi.com/api/2619421814940190/search/name/Hulk
Там пишет
{
"response": "error",
"error": "character with given name not found"
}

Сначала в обычном браузере этот JSON-ответ получи.



Отредактировано py.user.next (Апрель 22, 2022 18:46:25)

Офлайн

#3 Апрель 22, 2022 18:52:39

elena211
Зарегистрирован: 2022-04-22
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

REQUESTS, http запросы. помогите выполнить задание

https://www.superheroapi.com/api.php/2619421814940190/search/hulk
, ответ есть. я не понимаю с чего начать писать..

py.user.next
Ну, вот используй

Офлайн

#4 Апрель 22, 2022 18:59:34

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1359
Репутация: +  119  -
Профиль   Отправить e-mail  

REQUESTS, http запросы. помогите выполнить задание

elena211
Нужно передать список имен, получить ответ с их статой
с этого начни

только токен какой-то битый

Отредактировано xam1816 (Апрель 22, 2022 19:04:55)

Офлайн

#5 Апрель 22, 2022 19:56:33

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

REQUESTS, http запросы. помогите выполнить задание

elena211
https://www.superheroapi.com/api.php/2619421814940190/search/hulk
ответ есть.
  
>>> import urllib.request
>>> import json
>>> 
>>> def download_hero(name):
...     urlfmt = ('https://www.superheroapi.com'
...               '/api/2619421814940190/search/{}')
...     url = urlfmt.format(name)
...     req = urllib.request.Request(url, headers={'User-Agent': 'Firefox'})
...     with urllib.request.urlopen(req) as data:
...         text = data.read()
...     out = json.loads(text)
...     return out
... 
>>> def filter_hero(data, name):
...     lst = [i for i in data['results'] if i['name'] == name]
...     if lst:
...         out = lst[0]
...     else:
...         out = None
...     return out
... 
>>> def get_hero_stat(data):
...     out = data['powerstats']
...     return out
... 
>>> def get_hero_intelligence(data):
...     out = data['intelligence']
...     return out
... 
>>> hulks = download_hero('Hulk')
>>> #print(hulks)
... hulk = filter_hero(hulks, 'Hulk')
>>> #print(hulk)
... hulk_stat = get_hero_stat(hulk)
>>> #print(hulk_stat)
... hulk_intelligence = get_hero_intelligence(hulk_stat)
>>> print(hulk_intelligence)
88
>>>



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version