Tải video YouTube bằng Python: Phương pháp cập nhật sử dụng ytdl-nightly
By JoeVu, at: 21:22 Ngày 01 tháng 1 năm 2025
Thời gian đọc ước tính: __READING_TIME__ minutes


Tải xuống video YouTube bằng Python: Phương pháp cập nhật sử dụng ytdl-nightly
Trong bài đăng trên blog trước, chúng tôi đã tìm hiểu về việc tải xuống video YouTube bằng gói Python pytube
. Tuy nhiên, kể từ các bản cập nhật gần đây, pytube
đã trở nên không đáng tin cậy và không hoạt động trong nhiều trường hợp. Tương tự, một công cụ phổ biến khác, youtube-dl
, đã không được cập nhật trong hơn ba năm và gặp sự cố, đặc biệt là trên macOS (liên kết sự cố).
May mắn thay, một nhánh mới, ytdl-nightly
, cung cấp một giải pháp tuyệt vời để tải xuống video và danh sách phát YouTube. Trong hướng dẫn này, tôi sẽ hướng dẫn bạn cách thiết lập ytdl-nightly
và sử dụng nó để tải xuống video, bao gồm cả danh sách phát, từ YouTube.
Tại sao nên sử dụng ytdl-nightly
?
ytdl-nightly
là một nhánh được duy trì và cập nhật tích cực của youtube-dl
. Nó bao gồm các bản sửa lỗi cho nhiều vấn đề mà công cụ cũ gặp phải và hoạt động liền mạch trên nhiều nền tảng, bao gồm cả macOS.
Các tính năng chính:
-
Phát triển tích cực: Các bản cập nhật thường xuyên đảm bảo khả năng tương thích với API liên tục thay đổi của YouTube.
-
Hỗ trợ danh sách phát: Tải xuống toàn bộ danh sách phát chỉ với một lệnh.
-
Tích hợp đơn giản: Hoạt động liền mạch với Python và pip.
Bắt đầu với ytdl-nightly
Làm theo các bước sau để thiết lập ytdl-nightly
và tải xuống video YouTube.
1. Cài đặt ytdl-nightly
Vì ytdl-nightly
không có sẵn trên PyPI, bạn cần tải xuống và cài đặt gói theo cách thủ công từ trang phát hành.
Các bước để cài đặt:
-
Tải xuống tệp ZIP phát hành mới nhất từ phát hành ytdl-nightly.
-
Giải nén tệp ZIP.
-
Mở thiết bị đầu cuối và điều hướng đến thư mục đã giải nén.
-
Chạy lệnh sau để cài đặt gói:
pip install .
Điều này sẽ cài đặtytdl-nightly
toàn cục trên máy của bạn.
2. Xác minh cài đặt
Sau khi cài đặt, hãy xác minh xem ytdl-nightly
đã được cài đặt chính xác chưa:
python -m ytdl-nightly --version
Nếu cài đặt thành công, nó sẽ in số phiên bản của ytdl-nightly
.
Tải xuống video hoặc danh sách phát
Dưới đây là cách tải xuống một video duy nhất hoặc toàn bộ danh sách phát bằng ytdl-nightly
.
Tải xuống một video duy nhất
Để tải xuống một video duy nhất, hãy chạy:
python -m ytdl-nightly https://www.youtube.com/watch?v=EPo5wWmKEaI
Video sẽ được tải xuống thư mục hiện tại.
Tải xuống danh sách phát
Để tải xuống toàn bộ danh sách phát, hãy sử dụng URL danh sách phát:
python -m ytdl-nightly https://www.youtube.com/watch?v=EPo5wWmKEaI&list=PLmIUqzJB87sZ35ayTIjagy9gQuw8ueKQC
Lệnh này sẽ tải xuống tất cả video trong danh sách phát theo trình tự.
Ví dụ về mã Python
Nếu bạn muốn tự động hóa quá trình tải xuống bằng Python, đây là một ví dụ về mã:
import subprocess
def download_video(video_url):
try:
subprocess.run([
"python", "-m", "ytdl-nightly", video_url
], check=True)
print(f"Downloaded: {video_url}")
except subprocess.CalledProcessError as e:
print(f"Failed to download {video_url}: {e}")
if __name__ == "__main__":
# Ví dụ: Video đơn
video_url = "https://www.youtube.com/watch?v=EPo5wWmKEaI"
download_video(video_url)
# Ví dụ: Danh sách phát
playlist_url = "https://www.youtube.com/watch?v=EPo5wWmKEaI&list=PLmIUqzJB87sZ35ayTIjagy9gQuw8ueKQC"
download_video(playlist_url)
Lưu mã này dưới dạng download_youtube.py
và chạy nó trong thiết bị đầu cuối để tải xuống video hoặc danh sách phát.
Kết luận
Gói ytdl-nightly
cung cấp một giải pháp đáng tin cậy và cập nhật để tải xuống video và danh sách phát YouTube, khắc phục các hạn chế của các công cụ cũ như pytube
và youtube-dl
. Với việc cài đặt đơn giản và hiệu suất mạnh mẽ, bạn có thể dễ dàng tự động hóa việc tải xuống video hoặc sử dụng nó cho các dự án cá nhân.
Nếu bạn gặp bất kỳ sự cố nào hoặc có đề xuất, vui lòng chia sẻ chúng trong phần bình luận bên dưới hoặc đóng góp vào dự án ytdl-nightly
trên GitHub.