@Flex24
Student

Как сделать HTTP POST запрос к Yandex SpeechKit Cloud на Python 3?

Добрый вечер. Нужно передать голосовой файл и распознать текст. Использую технологию Yandex SpeechKit Cloud.
API
Необходимо послать POST-запрос. Но в отчет постоянно приходит 400.
Что я делаю не так?
Прикрепляю код:
import requests
from config import key

uuid = '88F1A7CB-90D9-D1B6-A40D-50465DE28C54'
url = 'https://asr.yandex.net/asr_xml?key=' + key + '&uuid=' + uuid + '&topic=queries&lang=ru-RU'
headers = {"Content-type": 'audio/x-mpeg-3'}
files = {'output.mp3': open('output.mp3', 'rb')}

tmp = requests.post(url, headers, files)
print(tmp)
  • Вопрос задан
  • 3855 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
@u_aleroev
import requests
from bs4 import BeautifulSoup

UNDEFINED_STRING='undefined'
KEY = 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX'
#UUID можно любой (01ae13cb744628b58fb536d496daa1e6)
UUID='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'


url = 'https://asr.yandex.net/asr_xml?key=' + KEY + '&uuid=' + UUID + '&topic=queries&lang=ru-RU'
headers = {"Content-Type": 'audio/x-mpeg-3'}
#файл распознования
data = open ('test.mp3', 'rb')
    
response = requests.post(url, headers=headers, data=data)

soup = BeautifulSoup(response.text, 'html.parser')

#soup.variant
result=UNDEFINED_STRING
answers=soup.findAll('variant')
if(len(answers)>0):
    result=answers[0].text
else:
    print(UNDEFINED_STRING)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы