Python – wykorzystanie biblioteki youtube_dl

Prawie każdy z nas zna portal YouTube i jego zawartość. Wielu z nas poszukuje programów do ściągania clipów czy filmów z tego portalu. Postanowiłem napisać krótki programik w Python-ie wykorzystujący bibliotekę youtube_dl.

Program ściąga pliki zczytując adresy z wcześniej przygotowanego pliku textowego 'lista.txt’. Można ściągać pojedyńczy plik lub całą listę. Pliki konwertowane są do formatu 'mp4′. Każdy adres do clipów musi być w oddzielnej lini. Jeśli jakiś plik nie zostanie ściągnięty, program wyrzuca jego adres w konsoli po zakończeniu programu oraz zapisuje do pliku textowego 'nieudane.txt’

Jak uruchomić program?

Do uruchomienia programu niezbędny jest zainstalowany Python. W systemie Windows otwieramy poleceniem ’cmd’ konsolę i wpisujemy polecenie ’python get-pip.py’. Po zaintalowaniu pakietu 'pip’ w tym samym oknie wpisujemy polecenie ’pip install youtube_dl’. Teraz możemy uruchomić program poleceniem ’python start.py’.

Przed uruchomieniem programu należy wcześniej przygotować listę adresów plików do ściągnięcia. Pamiętaj każdy adres w nowej linii. Program robi 10 sekundowe przerwy pomiędzy ściągnięciami, zdarzyło się że przy zaciąganiu dużej ilości plików youtube przerywało połączenie. Wydłuża to czas trwania procesu, ale za to zapobiega wymienionej wcześniej sytuacji.

kod programu:

# -*- coding: utf-8 -*-
"""
Created on Mon Dec  6 11:41:43 2021

@author: slavo heys
"""

import youtube_dl
import time

nieudane=[]
text = open('lista.txt', 'r')
linia = text.readlines()
liczba = len(linia)
text.close()
print("Liczba nagrań: "+str(liczba)+" \n")

i=0

for x in linia:
    print("Pobieram plik "+str(i)+", ",end="")
    print("Pozostało: "+str(liczba)+".\n")
    liczba = liczba-1
    
    try:
        youtube_dl.YoutubeDL({'format':'mp4','outtmpl': '%(title)s.%(ext)s'}).download([x])
        print('Sukces! Czekaj na następne pobieranie.\n')
    except:
        print('Nieudane pobranie: '+str(x)+'\n')
        nieudane.append(x)
    
    i+=1
    
    time.sleep(10)
    print('\n--------------------------------------\n')
        
        
print('\n ********** KONIEC *********\n')
print("\nLista nieudanych pobrań:\n")
print(nieudane)

text2 = open('nieudane.txt', 'w')
for r in nieudane:
    text2.write(r)
text2.close()

Program i plik z listą clipów należy umieścić w jednym katalogu. Katalog otwieramy w eksploatorze i w pasku wpisujemy ’cmd’ po otworzeniu konsoli wpisujemy ’python start.py’. Nie zamykamy okna konsoli dopóki nie wyskoczy komunikat o zakończeniu i nieudanych ściągnięciach. Gdyby ktoś chciał z videoclipów zrobić 'mp3′, polecam program Audacity i doinstalować do programu kodec ffmpeg, co pozwoli importować do programu nasze ściągnięte clipy i eksportować je do 'mp3′.

W razie pytań i uwag można pisać na adres slavoheys(@)gmail.com lub w komentarzach. Postaram się w miarę szybko pomóc i odpowiedzieć na wiadomość. Program działa pod Windows 10 i Windows 11, testowana ilość ściągnięć jednorazowo 100. Na życzenie mogę program skonwertować do pliku 'exe’ po Windowsa.

49 Downloads

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *