Thi thoảng anh em thấy có video hay trên youtube và muốn tải về máy tính của mình để xem offline.Trước kia thì anh em đã quá quen với IDM ( Internet Download Manager ) cân mọi thể loại download rồi đến Cốc cốc. Nhưng rồi cũng bó tay với mấy bố chrome hết.Nhưng dăm ba cái video youtube làm sao làm khó được anh em code đơ chúng tôi.Có cả tá cách anh em down được video youtube về.Nay mình xin trình bày một công cụ miễn phí của python. Anh em xem thảm khảo để nghịch.
Chúng ta có thể sử dụng gói Pytube để tải video YouTube xuống bằng tập lệnh Python. Đây là một công cụ miễn phí mà bạn có thể cài đặt từ kho lưu trữ PyPI. Bạn cũng có thể chọn định dạng đầu ra (ví dụ: mp4) và độ phân giải (ví dụ: 720px) khi tải xuống video.
Dưới đây là cách tiếp cận từng bước để tải xuống video YouTube bằng Python.
Bước I: Cài đặt Pytube bằng pip
1 | pip install pytube |
Bước II: Trong script của bạn, import YouTube từ gói pytube.
1 | from pytube import YouTube |
Bước III: Tạo một đối tượng của YouTube bằng cách bỏ qua URL của video
1 | yt = YouTube("<Your youtube URL>") |
Bước IV: Sử dụng phương pháp lọc để xác định định dạng tải xuống của video
1
mp4_files = yt.streams.filter(file_extension="mp4")
1 | mp4_files = yt.streams.filter(file_extension="mp4") |
Bước V: Lấy video bạn muốn bằng cách chỉ định độ phân giải
1 | mp4_369p_files = mp4_files.get_by_resolution("360p") |
Bước VI: Lưu video đã tải xuống vào folder bạn muốn
1 | mp4_369p_files.download("<Download-folder-path>") |
Dưới đây là code hoàn chỉnh :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 from pytube import YouTube
def download_360p_mp4_videos(url: str, outpath: str = "./"):
yt = YouTube(url)
yt.streams.filter(file_extension="mp4").get_by_resolution("360p").download(outpath)
if __name__ == "__main__":
download_360p_mp4_videos(
"https://www.youtube.com/watch?v=l7VRk6SMcMk",
)