Tải xuống video YouTube từ đầu đợt đến hết đợt là một phần của danh sách phát


10

Một video Youtube có thể được xem độc lập hoặc nó có thể là một phần của danh sách phát.
Ví dụ:
https://www.youtube.com/watch?v=vbsNiOkm0BU
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA

Chú ý một phần vbsNiOkm0BU.

Câu hỏi là để có được phần này cho tất cả các video của kênh / danh sách phát.

Động lực là để tải xuống tất cả các video của kênh này (khoảng 3600). Nhưng tôi đã không thành công với việc youtube-dltải xuống tất cả cùng một lúc.
Vì vậy, tôi muốn tải xuống trong 100 năm, làm ví dụ.

Nếu tôi có thể đưa câu hỏi này đi xa hơn, tôi có thể viết một tập lệnh bash để chỉ tải xuống các chỉ mục cụ thể của danh sách phát không?

Nếu bạn thấy liên kết ở trên:
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA
Lưu ý phần &index=141.

Bây giờ nếu làm một cái gì đó như thế này:

for i in {100..200}
do
youtube-dl https://www.youtube.com/watch?v=vbsNiOkm0BU&index=${i}&list=UUmM7KPLEthAXiPVAgBF6rhA
done

Chú ý một phần &index=${i}.

Đây là tải xuống cùng một video nhiều lần, do vbsNiOkm0BU.

Bất kì sự giúp đỡ nào trong việc này đều rất được trân trọng. Cảm ơn bạn.

Câu trả lời:


14

Danh sách phát

youtube-dl -f FORMAT -ciw --output '%(title)s.%(ext)s' --playlist-start NUMBER-START --playlist-end NUMBER-END <url-of-playlist>  

... ví dụ , nơi <url-of-playlist>được thay thế bằng URL của danh sách phát, thay thế FORMATbằng bất kỳ định dạng video có sẵn nào, ví dụ 18, NUMBER-STARTlà số lượng video trong danh sách phát để bắt đầu tải xuống trước và NUMBER-ENDlà số lượng video trong danh sách phát để tải xuống lần cuối .

Kênh

Nếu một kênh có nhiều danh sách phát, hãy nhấp vào danh sách phát đầu tiên và tải xuống tất cả các video trong danh sách phát được chọn bằng lệnh trên. Sau đó lặp lại cho mỗi danh sách phát trong kênh.

Giải trình

-f, --format FORMAT
    video format code. The -F option (capital F) displays all available video  
    formats for a video link. Example: youtube-dl -F <url-of-video>

-c, --continue                   
    force resume of partially downloaded files

-i, --ignore-errors              
    continue on download errors, for example to skip unavailable videos  
    in a channel   

-w, --no-overwrites
    do not overwrite files 

Chuyển đổi tất cả các tiêu đề video thành chữ thường

youtube-dl -f FORMAT -ciw --output '%(title)s.%(ext)s' --playlist-start NUMBER-START --playlist-end NUMBER-END <url-of-playlist>     
find -type f -exec rename 'y/A-Z/a-z/' {} +

Giải trình

--output '%(title)s.%(ext)s'  
    output file name(s) as the name of the video, followed by a dot character and the video's extension  

find -type f 
    Find all files.

y/source/destination/  
    Transliterate the characters in the pattern space which appear in source   
    to the corresponding character in destination.

Cảm ơn bạn! Điều đó đã làm việc! Chỉ cần một truy vấn nữa, tôi có thể chuyển đổi tất cả các tiêu đề video thành chữ thường trong khi tải xuống không? Tôi có thể chỉ định định dạng như thế nào --output "%(title)s". Tôi cũng có thể chuyển đổi nó thành chữ thường?
Rishiraj Surti 7/12/2016
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.