xin chào độc giả. Hôm nay, chúng ta sẽ xây dựng trình tải xuống YouTube bằng Python3 bằng thư viện PyTube3. Thư viện pytube ban đầu không còn hoạt động, vì vậy chúng tôi cần sử dụng thư viện pytube3, thư viện này chỉ hoạt động với Python3 chứ không hoạt động với Python2
Chúng tôi sẽ thấy nhiều điều chúng tôi có thể làm với Trình tải xuống Youtube của mình và các chức năng khác nhau mà nó cung cấp cho chúng tôi. Vì vậy, hãy làm từng bước một
Tải xuống và nhập các thư viện
Điều đầu tiên, trước khi làm bất cứ điều gì khác, bạn cần tải xuống thư viện pytube3 trong hệ thống của mình. Để làm điều này, chúng tôi sẽ sử dụng python3
Nhập lệnh sau vào CLI để tải xuống và cài đặt pytube3 trong hệ thống của bạn
pip install pytube3
Lệnh này sẽ tải xuống và cài đặt pytube3 trong hệ thống của bạn
Bây giờ chúng ta có thể bắt đầu xây dựng YouTube Downloader của mình. Chúng tôi cần nhập thư viện vào chương trình của mình để sử dụng các chức năng của nó
Vì vậy, chúng tôi bắt đầu chương trình của mình bằng lệnh sau
from pytube import YouTube
Bạn sẽ nhận thấy rằng mặc dù chúng tôi đã tải xuống và cài đặt pytube3 trong hệ thống của mình nhưng chúng tôi đang nhập mã pytube ở đây
Để giải tỏa sự nhầm lẫn, pytube3 cũng được nhập bằng cách chỉ viết pytube. Chúng tôi không nhập nó bằng cách viết nó dưới dạng pytube3
Chấp nhận đầu vào từ người dùng
Bước tiếp theo của chúng tôi là yêu cầu người dùng cung cấp cho chúng tôi liên kết tới video youtube mà chúng tôi cần tải xuống. Sau đó, người dùng sẽ cung cấp cho chúng tôi liên kết đến video mà anh ta định tải xuống
link = input["Enter the link: "]
yt = YouTube[link]
Vì vậy, chúng tôi đã chấp nhận thông tin đầu vào từ người dùng và chuyển liên kết đến lớp YouTube của chúng tôi. Nó sẽ giúp chúng tôi tiết lộ tất cả thông tin về video và cho phép chúng tôi tải xuống
Tiết lộ nhiều thông tin khác nhau về Video
Bây giờ chúng tôi có liên kết và chúng tôi đã chuyển nó tới lớp YouTube. Bây giờ, chúng tôi có thể chơi với liên kết và tiết lộ tất cả các loại thông tin về video, như tiêu đề, số lượt xem, xếp hạng, mô tả, thời lượng của video và nhiều thứ khác
#Title of video
print["Title: ",yt.title]
#Number of views of video
print["Number of views: ",yt.views]
#Length of the video
print["Length of video: ",yt.length,"seconds"]
#Description of video
print["Description: ",yt.description]
#Rating
print["Ratings: ",yt.rating]
Khi chúng tôi chạy mã này, chúng tôi sẽ thấy nhiều chi tiết khác nhau về video có liên kết mà chúng tôi đã đưa vào chương trình. Ngoài ra, có nhiều thao tác như vậy có thể được thực hiện mà bạn có thể tìm thấy trong tài liệu chính thức của pytube3
Vì vậy, đối với mục đích đầu ra, chúng tôi không in mô tả [nó lớn], vì vậy chúng tôi sẽ in bốn nội dung còn lại
Chúng tôi đã sử dụng liên kết cho trailer chính thức của Dark Season 3 tại đây. Bạn có thể sử dụng bất kỳ liên kết nào bạn chọn
Đầu ra hiển thị các chi tiết khác nhau của videoVì vậy, như bạn có thể thấy ở trên, chúng tôi đã in các chi tiết khác nhau về chương trình
Nhìn vào các luồng có sẵn
Bạn hẳn đã thấy có nhiều chất lượng khác nhau để xem trên youtube. Vì vậy, trong khi tải xuống bằng pytube, chúng tôi cũng có các tùy chọn cho tất cả các luồng có sẵn
pytube cung cấp một cách rất dễ dàng để xem tất cả các luồng có sẵn cho liên kết mà người dùng đã cung cấp. Vì vậy, hãy chạy mã để xem tất cả các luồng có sẵn cho video cụ thể đó
#printing all the available streams
print[yt.streams]
Khi chạy đoạn mã trên, chúng tôi nhận được tất cả các luồng có sẵn cho video đó. Dưới đây là đầu ra được tạo
Luồng có sẵn cho videoGiờ đây, bạn có thể thấy cả luồng video và âm thanh đều có sẵn. Vì vậy, bạn cũng có thể chỉ lọc ra các luồng âm thanh hoặc video. Bạn cũng có thể lọc ra các luồng dựa trên định dạng tệp. Chúng tôi cũng có thể lọc ra các luồng tiến bộ và Dash [sẽ nói về chúng sau]
Vì vậy, hãy lọc ra các luồng chỉ có âm thanh. Để làm như vậy, chúng ta cần viết mã như vậy
print[yt.streams.filter[only_audio=True]]
Đầu ra chúng ta sẽ nhận được là như vậy
Luồng chỉ âm thanhBây giờ, hãy lọc ra các luồng chỉ có video. Nó sẽ chỉ hiển thị cho chúng tôi các luồng chứa video nhưng không có âm thanh. Vì vậy, nó cũng sẽ lọc ra tất cả các luồng lũy tiến. Đối với điều đó, chúng tôi sẽ viết như vậy
print[yt.streams.filter[only_video=True]]
Đầu ra chúng ta sẽ nhận được là như vậy
Luồng chỉ videoBây giờ, hãy nói về các luồng Dash lũy tiến v/s. YouTube sử dụng luồng Dash để hiển thị chất lượng cao hơn
Luồng liên tục được giới hạn ở 720p và chứa cả tệp codec âm thanh và video, trong khi luồng Dash có chất lượng cao hơn nhưng chỉ có codec video
Vì vậy, nếu chúng tôi muốn tải xuống một luồng liên tục, chúng tôi sẽ nhận được một video sẵn sàng để phát với âm thanh tích hợp
Tuy nhiên, để có chất lượng cao hơn, chúng ta nên sử dụng luồng Dash cho video và cũng nên tải xuống luồng âm thanh rồi sau đó hợp nhất chúng bằng bất kỳ công cụ trộn nào
Vì vậy, đối với bài viết này, chúng tôi sẽ sử dụng tính năng tải xuống theo luồng liên tục để sẵn sàng phát video. Bạn có thể tự do lựa chọn chất lượng tải xuống và lựa chọn luồng
Vì vậy, trước tiên hãy lọc ra các luồng lũy tiến. Mã dưới đây sẽ làm điều đó cho chúng tôi
print[yt.streams.filter[progressive=True]]
Nó sẽ liệt kê các luồng tiến bộ có sẵn để tải xuống cho chúng tôi. Nó sẽ có các tùy chọn hạn chế, nhưng nó phù hợp với chúng tôi. Đầu ra sẽ trông như thế này
Luồng lũy tiến có sẵnĐể có được luồng lũy tiến có độ phân giải cao nhất hiện có, chúng ta có thể viết mã bên dưới
________số 8_______Điều này sẽ tạo và lưu trữ luồng có độ phân giải cao nhất trong biến ys
Chúng tôi cũng có thể chọn bất kỳ luồng nào với sự trợ giúp của itag của nó
ys = yt.streams.get_by_itag['22']
Vì vậy, bây giờ chúng tôi đã lưu trữ luồng ưa thích của mình trong một biến. Bây giờ, hãy tải nó xuống hệ thống của chúng tôi
from pytube import YouTube
0Đoạn mã trên sẽ tải xuống luồng ưa thích của chúng tôi và lưu nó vào thư mục làm việc hiện tại
Chúng tôi cũng có thể chỉ định vị trí trong hệ thống của mình nơi chúng tôi muốn tải xuống video youtube. Chúng tôi có thể làm như vậy bằng cách chỉ định đường dẫn tuyệt đối ở giữa các dấu ngoặc nhọn của tệp tải xuống
Mã dưới đây giúp bạn tải xuống ở vị trí ưa thích của bạn
from pytube import YouTube
1Đó là tất cả. Xin chúc mừng, bạn vừa xây dựng trình tải xuống YouTube đơn giản đầu tiên của mình bằng Python. Chỉ sử dụng nó cho mục đích thử nghiệm và giáo dục. Đừng lạm dụng kiến thức này
Đây là mã hoàn chỉnh để tải xuống video youtube bằng các luồng lũy tiến chất lượng cao nhất hiện có
Mã hoàn chỉnh cho YouTube DownloaderHãy truy cập Kho lưu trữ GitHub của tôi để biết thêm chi tiết và cập nhật. Tôi khuyến khích tất cả các bạn thử một cái gì đó mới từ mã này, và sau đó vui lòng chia sẻ suy nghĩ và kinh nghiệm của bạn trong các nhận xét. Tôi rất thích nghe những gì bạn đã học được và những gì bạn đã xây dựng thêm. Tất cả tốt nhất, tất cả mọi người
Hãy xem, những gì chúng tôi xây dựng ở đây là một phiên bản rất đơn giản. Chúng tôi cũng có thể cố gắng chuyển đổi cùng một khái niệm thành một ứng dụng hoặc trang web sẽ thực hiện các chức năng tương tự theo cách thân thiện với người dùng. Bạn cũng có thể thêm hỗ trợ cho các trang web khác nhau bằng cách sử dụng API tương ứng của chúng. Có rất nhiều trình tải xuống video giàu tính năng như vậy sử dụng các khái niệm tương tự và cung cấp cho người dùng tùy chọn để tải xuống video một cách dễ dàng
Một trong những ứng dụng yêu thích của tôi là YTSaver, một ứng dụng giàu tính năng để tải xuống video hoặc danh sách phát từ rất nhiều trang web ở các độ phân giải và định dạng khác nhau chỉ bằng một cú nhấp chuột. Nó cũng cho phép bạn chuyển đổi video từ định dạng này sang định dạng khác và nhanh hơn nhiều so với một số trình tải xuống khác hiện có
Ghi chú. Đoạn trên chứa một liên kết liên kết
Trên thực tế, bạn cũng có thể sử dụng các thư viện Python như thư viện này để chuyển đổi video từ định dạng này sang định dạng khác. Bạn cũng có thể thử làm điều đó nếu bạn quan tâm. Cảm ơn bạn rất nhiều cho việc đọc