[PYTHON] Konvertieren Sie die YouTube-Wiedergabeliste in eine lokale Datei im m3u-Format für den Smplayer (per Toy Tool).

Vor dem Akzeptieren

Rufen wir nun die youtube-dl-Bibliothek von Python in der Befehlszeile auf und erstellen eine lokale Datei der Wiedergabeliste, die für eine Weile verwendet werden kann.

Umgebung

Dieses Mal habe ich den Vorgang unter Windows 10 überprüft und dabei gitbash als Shell und Conda verwendet. Python installiert mit /), youtube-dl von diesem Pip installiert.

Körper

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import codecs
import sys
import youtube_dl

class yt_Listup:
    """ Wrapper for youtube-dl library
      * read youtube.com playlist
      * output by m3u format 
    """

    def __init__(self, url):
        self.url_list = []
        ydl = youtube_dl.YoutubeDL({'outtmpl': u'%(id)s%(ext)s', \
                'logtostderr': True})
        with ydl:
            result = ydl.extract_info(
                url ,
                download=False, # We just want to extract the info
            )

        if 'entries' in result:
            self.url_list.extend(result['entries'])
        else:
            self.url_list.append(result)

    def m3u(self, fileHandle = codecs.getwriter('utf_8')(sys.stdout)):
        for item in self.url_list:
            fileHandle.write( "# " + item['title'] + "\n" + \
                    item['webpage_url'] + "\n" )
        return


if __name__ == "__main__" :
    l = yt_Listup(sys.argv[1]).m3u()

Setzen Sie das Ausgabeziel vorerst auf stdout und speichern Sie es durch Umleitung. Ich bin der Meinung, dass Personen, die einen Vorbehalt benötigen, keine Codefragmente lesen

Es sollte erwähnt werden, dass

Um von denen gescholten zu werden, die es mit Python ernst meinen, wurde es nicht so formatiert, dass es PEP8 entspricht. Es enthält keinen Testcode, der wahrscheinlich von Leuten beschimpft wird, die die Entwicklung ernst nehmen. Wenn Sie diese Funktion nicht erweitern möchten, ist es einfacher und korrekter, mit = zuzuweisen, ohne append () oder expand () zu verwenden. Ich bevorzuge es, eine Usage () - Funktion zur Verwendung in der Befehlszeile hinzuzufügen, diesen Code umzubenennen und ihn schließlich in den Bibliothekspfad einzufügen. Abgesehen vom Wiedergabebildschirm hat mir die angezeigte URL auf dem Smplayer-Wiedergabelistenbildschirm nicht gefallen, und ich habe einige Änderungen an dem hier angegebenen Code vorgenommen. Je multifunktionaler es ist, desto länger wird es.

Darüber hinaus konnte ich die Funktion "Wahrscheinlich für alle" zum Speichern der YouTube-Wiedergabeliste in einer lokalen Datei nicht finden. Der Hauptteil ist am einfachsten zu verstehen, und ich dachte, es wäre einfacher zu lesen, wenn nur dieser Code veröffentlicht würde, da er nahe am Klebstoff der Site namens Qiita liegt.

Thanks

Recommended Posts

Konvertieren Sie die YouTube-Wiedergabeliste in eine lokale Datei im m3u-Format für den Smplayer (per Toy Tool).
Konvertieren Sie das Matplotlib-Diagramm in das EMF-Dateiformat
Konvertieren Sie Binärpakete für Windows in das Radformat
Konvertieren Sie Qiita-Artikel zur Sicherung in das Jekyll-Post-Format
So konvertieren Sie Json-Dateien in das CSV- oder EXCEL-Format
Konvertieren Sie die XML-Datei im Pascal-VOC-Format in die JSON-Datei im COCO-Format
[Caffe] Konvertiert die mittlere Datei vom binären Proto-Format in das npy-Format
Konvertieren Sie eine Excel-Datei für verschiedene Zwecke in Python in Text