anaconda ref) https://anaconda.org/conda-forge/youtube-dl
conda install -c conda-forge youtube-dl
ref) https://github.com/ytdl-org/youtube-dl/blob/master/README.md
sudo -H pip install --upgrade youtube-dl
import
import youtube_dl as ydl
Das Video-DL verfügt über eine ydl.main () -Methode und eine ydl._real_main () -Methode. Wie Sie der Quelle entnehmen können, ist der erstere ein Wrapper für den letzteren, der zusätzlich Ausnahmen behandelt. Das letztere Verfahren wird hier aus den nachstehend beschriebenen Gründen verwendet. Sie können verschiedene Argumente angeben ( Siehe Original-Git ), aber den Optionsbezeichner und dessen Beachten Sie, dass, wenn Sie ein Leerzeichen zwischen den tatsächlichen Zustand setzen, dieses Leerzeichen auch in den tatsächlichen Zustand einbezogen wird.
myURL = "https://www.nicovideo.jp/watch/so23335421" #URL des Videos, das Sie speichern möchten
myOUT = "-oout.mp4" #Geben Sie den Namen der Ausgabevideodatei an
def main():
try:
ydl._real_main([myURL, myOUT])
except ydl.DownloadError:
main()
main()
Wenn ich ein Nico Nico-Video von 4 Minuten oder mehr herunterlade, wird ein Fehler der Klasse ydl.DownloadError angezeigt (tatsächlich handelt es sich um einen Fehler von urlib, und es scheint, dass youtube-dl zum Zeitpunkt des Schreibens diesen Fehler nicht vermeiden kann <a href = https //obel.hatenablog.jp/entry/20191102/1572693444> [Referenz] ) Wenn Sie die Methode wiederholen, können Sie DL fortsetzen. Wenn DL abgeschlossen ist, tritt kein Fehler auf. Während ydl._real_main () weiterhin ydl.DownloadError auslöst, ist es daher möglich, den Fehler zu vermeiden, indem ydl._real_main () rekursiv ausgeführt wird.
Da das youtube_dl-Modul sys.exit stark nutzt, müssen Sie möglicherweise die Quelle ändern, wenn Sie ordnungsgemäß mit jupyter notebook oder in Kombination mit anderen Programmen arbeiten möchten? <A href = https: //hira98.hatenablog .com / entry / 2019/07/02/210000> Wenn Sie es mit einem try-Block aufrufen, ist dies möglicherweise möglich .
Recommended Posts