Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tải video/audio YouTube bằng Python - thư viện pafy


pafy là thư viện Python để trích xuất thông tin và tải video/audio từ YouTube. Lưu ý: pafy phụ thuộc youtube-dl/yt-dlp, có thể bị lỗi do YouTube thay đổi API.

Cài đặt

pip install pafy
pip install yt-dlp  # Backend khuyên dùng thay youtube-dl (đã ngừng cập nhật)

Lấy thông tin video

import pafy

url = "https://www.youtube.com/watch?v=cr3-J5wDLsM"
video = pafy.new(url)

print(f"Tiêu đề: {video.title}")
print(f"Lượt xem: {video.viewcount}")
print(f"Tác giả: {video.author}")
print(f"Độ dài: {video.length} giây")
print(f"Thích: {video.likes}")
print(f"Không thích: {video.dislikes}")
print(f"Mô tả: {video.description[:100]}...")

Tải video chất lượng cao nhất

best = video.getbest()  # Hoặc getbest(preftype="mp4")
print(f"Chất lượng: {best.resolution} {best.extension} @ {best.get_filesize()} bytes")
best.download(quiet=False)

Tải audio chất lượng cao nhất

best_audio = video.getbestaudio()  # Hoặc getbestaudio(preftype="m4a")
print(f"Audio: {best_audio.bitrate} {best_audio.extension}")
best_audio.download(quiet=False)

Lưu ý quan trọng (2024+)

  • pafy ít được maintain. Khuyên dùng yt-dlp trực tiếp (CLI hoặc library).
  • yt-dlp hỗ trợ hàng trăm trang, cập nhật thường xuyên, mạnh hơn nhiều.

Ví dụ yt-dlp (khuyên dùng)

# CLI
yt-dlp "https://youtube.com/watch?v=..."

# Python API
import yt_dlp
ydl_opts = {'format': 'bestvideo+bestaudio/best'}
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.download(["https://youtube.com/watch?v=..."])

Kết luận

pafy từng phổ biến nhưng hiện đã lỗi thời. Nên dùng yt-dlp cho dự án thực tế.