Video Scraper and Downloader to zestaw skryptów w Pythonie, które pozwalają na pobieranie listy linków do filmów z określonego kanału YouTube oraz na pobieranie tych filmów na lokalny dysk. Projekt powstał, aby umożliwić pobieranie gameplayów z gier w wysokiej jakości. Korzysta z bibliotek requests
, BeautifulSoup
oraz yt-dlp
.
Aby uruchomić te skrypty, potrzebujesz zainstalowanych poniższych pakietów Python:
requests
beautifulsoup4
yt-dlp
Dodatkowo, yt-dlp wymaga zainstalowanego programu FFmpeg do prawidłowego działania. Możesz pobrać FFmpeg ze strony FFmpeg.org i zainstalować zgodnie z instrukcjami dla Twojego systemu operacyjnego.
Możesz zainstalować wymagane pakiety Python używając poniższego polecenia:
pip install requests beautifulsoup4 yt-dlp
- Sklonuj repozytorium lub skopiuj pliki
video_scraper.py
orazvideo_downloader.py
na swój komputer. - Upewnij się, że masz zainstalowane wymagane pakiety (patrz sekcja Wymagania).
- Upewnij się, że masz zainstalowany FFmpeg i jest on dostępny w ścieżce systemowej.
Uruchom skrypt video_scraper.py
, aby pobrać listę linków do filmów z określonego kanału YouTube i zapisać je w pliku tekstowym:
python video_scraper.py
Uruchom skrypt video_downloader.py
, aby pobrać filmy na lokalny dysk. Skrypt korzysta z pliku filmy.txt
utworzonego w poprzednim kroku:
python video_downloader.py
Filmy zostaną zapisane w katalogu filmy
.
get_videos_from_channel(channel_url)
: Funkcja ta pobiera URL kanału YouTube jako argument, pobiera dane HTML z tego URL i szuka w nich skryptu zawierającego dane o wideo. Następnie wyodrębnia identyfikatory wideo i tworzy z nich listę unikalnych linków do filmów.save_videos_to_file(videos, filename)
: Funkcja ta zapisuje listę linków do plików wideo w pliku tekstowym o podanej nazwie. Jeśli plik już istnieje, nadpisuje go.
Domyślny URL kanału jest ustawiony na https://www.youtube.com/@OrbitalNCG/videos
, a domyślna nazwa pliku do zapisu to filmy.txt
.
download_video(video_url, output_path='.')
: Funkcja ta pobiera wideo z podanego URL i zapisuje je w określonym katalogu. Używayt-dlp
do wyboru najlepszej jakości wideo.hook(d)
: Funkcja pomocnicza wyświetlająca postęp pobierania.download_videos_from_file(filename, output_path='.')
: Funkcja ta czyta linki do filmów z pliku tekstowego i pobiera każdy z nich, zapisując w określonym katalogu.
Domyślna nazwa pliku z linkami to filmy.txt
, a domyślny katalog do zapisu filmów to filmy
.