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-dlphỗ 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ế.