Где можно взять api(аниме)
Помогите решить ошибку. Программа выдает ошибку ключа, хотя всё проверил и должно быть верно.
import requests
import json
from pprint import pprint
from deep_translator import GoogleTranslator
#Выдаёт ошибку KeyError строка 22
#ввод
inp = input(">>> ") # например one pieace
morf = inp.replace(" ","+").lower()
#перевод на английский
name = GoogleTranslator(source='auto',
target='en').translate(morf)
print(name)
#подстановка в url
url=f"https://kitsu.io/api/edge/anime?filter[text]={name}"
r = requests.get(url=url)
#ответ в json
d = json.dumps(r.json())
text = json.loads(d)
#множество для уникальности записей, иначе они дублируются
data = set()
for t in text:
enTitle = text['data'][0]['attributes']['titles']['en_us']
jpTitle = text['data'][0]['attributes']['titles']['ja_jp']
title = GoogleTranslator(source='auto', target='ru').translate(enTitle)
stDate = text['data'][0]['attributes']['startDate']
edDate = text['data'][0]['attributes']['endDate']
typeA = text['data'][0]['attributes']['subtype']
desc = text['data'][0]['attributes']['synopsis']
descrip = GoogleTranslator(source='auto', target='ru').translate(desc)
img = text['data'][0]['attributes']['posterImage']['original']
ep = text['data'][0]['attributes']['episodeCount']
lenEp = text['data'][0]['attributes']['episodeLength']
#добавляем запись во множество
data.add(str(title) +"\n"+ str(jpTitle) +"\n"+ str(stDate) +"\n"+ str(edDate) +"\n"+ str(typeA) +"\n"+ str(descrip) +"\n"+ str(img) +"\n"+str(ep) +"\n"+ str(lenEp))
#печатаем оезультат
print(data)
Ответы (2 шт):
Автор решения: Сергей Ш
→ Ссылка
import requests
from deep_translator import GoogleTranslator
inp = 'one peace'
morf = inp.replace(" ", "+").lower()
name = GoogleTranslator(source='auto', target='en').translate(morf)
url = f"https://kitsu.io/api/edge/anime?filter[text]={name}"
r = requests.get(url)
text = r.json()
data = set()
for t in text['data']:
enTitle = t['attributes']['canonicalTitle']
jpTitle = t['attributes']['titles']['ja_jp']
title = GoogleTranslator(source='auto', target='ru').translate(enTitle)
stDate = t['attributes']['startDate']
edDate = t['attributes']['endDate']
typeA = t['attributes']['subtype']
desc = GoogleTranslator(source='auto', target='ru').translate(t['attributes']['synopsis'])
img = t['attributes']['posterImage']['original']
ep = t['attributes']['episodeCount']
lenEp = t['attributes']['episodeLength']
data.add(f'{title}\n'
f'{jpTitle}\n'
f'{stDate}\n'
f'{edDate}\n'
f'{typeA}\n'
f'{desc}\n'
f'{img}\n'
f'{ep}\n'
f'{lenEp}'
)
print(data)
Автор решения: Никита Егоров
→ Ссылка
install deep_translator(надо вставить в Terminal,тогда будет работать.Не работает потому что модуля deep_translator не существует)