Упомянутый ниже код представляет собой настраиваемый API, использующий python, в основном, что он делает, так это получает ссылку от пользователя и анализирует ее с помощью функции и загружает конкретное видео с YouTube, синтаксический анализ работает, но мне нужно получить загрузку, которая исходит от это я новичок в restful API, пожалуйста, просмотрите код:
from flask import Flask, request
from flask_restful import Resource, Api
from sqlalchemy import create_engine
from json import dumps
from flask_jsonpify import jsonify
from pytube import YouTube
app = Flask(__name__)
api = Api(app)
def youtube_api(self,link):
yt = YouTube('https://thewikihow.com/video_'+link)
stream = yt.streams.filter(res='720p')
stream.first().download()
class Test(Resource):
def get(self,link):
api_link = str(link)
youtube_api(link)
return jsonify(api_link)
api.add_resource(Test,'/api/<link>')
if __name__ == '__main__':
app.run(port='5002')
Класс Test принимает ссылку методом GET и передает ссылку функции youtube_api, код stream.first().download() скачивает файл и сохраняет его. Функция youtube_api была отдельным скриптом, поэтому я пытаюсь интегрировать ее с моим пользовательским API, API будет использоваться в мобильных приложениях, поэтому как вернуть обратно Json
Я не получаю никакой ошибки, ссылка передается на youtube_api, но загрузка не происходит в фоновом режиме, см. функцию youtube_api
Глядя на API (github.com/nficano/pytube/blob/…), возможно, вызов должен быть в два шага для stream. В функции def youtube_api(self,link): вы пробовали stream = yt.streams.filter(res='720p').first();, затем stream.download()
Да, оба одинаковы, но это работает на сервере, как его можно загрузить, а pytube работает как отдельный скрипт в API, который вы указали.
Я исправил, вы были правы, файл загружался в фоновом режиме и хранился в том месте, где выполнялся скрипт, но как я могу перенаправить загрузку в браузер или в приложение, которое его запрашивает?
Это зависит от серверной инфраструктуры, которую вы используете для размещения своего контента.
Что не работает? Включите полный текст любых ошибок, которые вы получаете. Вы хотите вернуть результат этого скрипта в ответ JSON? Что в вашем скрипте этого не делает?