Wie benutzt man youtube-dl aus einem Python-Programm

Ich möchte auf das Ergebnis des Shell-Befehls zugreifen:

youtube-dl -g "www.youtube.com..." 

Um seine Ausgabe direct url zu drucken; Aus einem Python-Programm:

 import youtube-dl fromurl="www.youtube.com ...." geturl=youtube-dl.magiclyextracturlfromurl(fromurl) 

Ist das möglich ? Ich habe versucht, den Mechanismus in der Quelle zu verstehen, aber ging verloren: youtube_dl/__init__.py , youtube_dl/youtube_DL.py , info_extractors

    5 Solutions collect form web for “Wie benutzt man youtube-dl aus einem Python-Programm”

    Es ist nicht schwer und tatsächlich dokumentiert :

     import youtube_dl ydl = youtube_dl.YoutubeDL({'outtmpl': '%(id)s%(ext)s'}) with ydl: result = ydl.extract_info( 'http://www.youtube.com/watch?v=BaW_jenozKc', download=False # We just want to extract the info ) if 'entries' in result: # Can be a playlist or a list of videos video = result['entries'][0] else: # Just a video video = result print(video) video_url = video['url'] print(video_url) 

    Hier ist ein Weg

    Wir setzen die Optionsreihenfolge in einer Liste ein, genau wie wir Befehlszeilenargumente einrichten. In diesem Fall opts=['-g', 'videoID'] . Dann rufen Sie youtube_dl.main(opts) . Auf diese Weise schreiben wir unser benutzerdefiniertes .py-Modul, import youtube_dl und import youtube_dl dann die main() Funktion auf.

    das würde mir gefallen

     from subprocess import call command = "youtube-dl https://www.youtube.com/watch?v=NG3WygJmiVs -c" call(command.split(), shell=False) 

    Wenn youtube-dl ein Terminalprogramm ist, können Sie mit dem subprocess Modul auf die gewünschten Daten zugreifen.

    Überprüfen Sie diesen Link für weitere Details: Aufrufen eines externen Befehls in Python

    Mit dem Teilprozess im Unix-System, in dem youtube-dl bereits installiert ist, konnte ich dieses Skript schreiben. Hoffe es ld legte einige praktische Einblick

    https://www.quora.com/What-are-die-best-Python-scripts-youve-ever-written/answer/Prasanna-Kumar-92? Snids = 850206706 & idx = 0

    Python ist die beste Programmiersprache der Welt.