Попытка перевести некоторые фразы или предложения, используя Yandex Dictionary API
с Python.
Для 1 слова или некоторых словосочетаний это работает правильно, но если я добавлю verb
, тогда ответ будет выглядеть как : {'head': {}, 'def': []}
.
Для испытаний:
'hello', 'text', 'true', 'empty box' - works good,
'it is mine', 'may be yours', 'do tasks' - gives empty response
Код
url = "https://dictionary.yandex.net/api/v1/dicservice.json/lookup?key=APIkey&lang=en-ru&text=time"
key = "my key"
with open('errors.txt' ,"w", encoding= 'utf-8') as fErrors:
for word in words:
params = {
"key": key,
"lang": 'en-ru',
"text": word
}
response = requests.get(url, params=params)
if(response.status_code == 200):
data = response.json()
# print(data ,'END')
if(len(data['def']) > 0):
translatedWord = data['def'][0]
dictionary[word] = [translatedWord['ts'], translatedWord['tr'][0]['text']]
else:
print('Error word [NO CONTEXT]: ', word)
print(data)
fErrors.write(word + '\n')
else:
print('Error [HTTP CODE] word: ', word)
fErrors.write(word + '\n')
print(dictionary)