Проблема с использованием YouTube API в приложении-функции AzurePython

Программы на Python
Ответить
Anonymous
 Проблема с использованием YouTube API в приложении-функции Azure

Сообщение Anonymous »

Извиняюсь, если какая-то моя терминология неверна. Я относительно новичок в разработке. Я пытаюсь создать функцию Azure, которая запускается HTTP-запросом, который отправляет video_id видео YouTube в функцию, а затем эта функция продолжается. чтобы извлечь расшифровку этого видео с помощью библиотеки youtube_transcript_api в строку и приступить к использованию этой строки расшифровки для других целей. Я столкнулся с проблемой: когда я локально отлаживаю и отправляю запрос на localhost с video_id, YouTube API может без проблем получить расшифровку, однако когда я развертываю функцию в Azure, я получаю эту ошибку
Результат: Исключение сбоя: TranscriptsDisabled: не удалось получить расшифровку видео ! Скорее всего, это вызвано следующими причинами: Для этого видео отключены субтитры. Если вы уверены, что описанная причина не является причиной этой ошибки и что расшифровку можно получить, создайте проблему на странице https://github.com/jdepoix/. youtube-transcript-api/issues. Укажите, какую версию youtube_transcript_api вы используете, и предоставьте информацию, необходимую для воспроизведения ошибки. Также убедитесь, что нет открытых вопросов, которые уже описывают вашу проблему!
Используя ссылку, вы можете увидеть, что video_id был отправлен правильно, и я убедился в этом, зарегистрировав video_id в убедитесь, что с HTTP-запросом не было проблем. Я рискну предположить, что это, вероятно, проблема с API YouTube, блокирующим трафик от облачных сервисов, но не уверен, есть ли способ обойти эту проблему или есть ли другой сервис, у которого не будет такой проблемы. Дайте мне знать, если кто-нибудь еще сталкивался с этой проблемой!
Вот как выглядит соответствующая часть моего кода...

Код: Выделить всё

import azure.functions as func
import logging

app = func.FunctionApp(http_auth_level=func.AuthLevel.FUNCTION)

@app.route(route="azure_function/{video_id}")
def azure_function(req: func.HttpRequest) -> func.HttpResponse:
from openai import OpenAI
import json
from youtube_transcript_api import YouTubeTranscriptApi

video_id = req.route_params.get('video_id', None)

#Input video_id and output a string transcription of audio
def transcribe_video(video_id):
transcript_dict = YouTubeTranscriptApi.get_transcript(video_id)

transcript = ""
for line in transcript_dict:
transcript += line['text'] + " "
return transcript

logging.info("... starting transcription...")
video_transcription = transcribe_video(video_id)

Я попытался зарегистрировать video_id, чтобы убедиться, что он правильно передается через HTTP-запрос, а также попробовал запустить функцию локально, которая работает, но когда я развертываюсь в Azure и запустите HTTP-запрос. Я столкнулся с ошибкой 500 выше. Я ценю любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/790 ... nction-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»