ดาวน์โหลดวิดีโอ YouTube ตั้งแต่เริ่มต้นจนจบแบทช์ซึ่งเป็นส่วนหนึ่งของเพลย์ลิสต์


10

คุณสามารถดูวิดีโอ Youtube แบบสแตนด์อโลนหรืออาจเป็นส่วนหนึ่งของเพลย์ลิสต์
ตัวอย่าง:
https://www.youtube.com/watch?v=vbsNiOkm0BU และ
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA

vbsNiOkm0BUขอให้สังเกตส่วน

คำถามคือรับส่วนนี้สำหรับวิดีโอทั้งหมดของช่อง / เพลย์ลิสต์

แรงจูงใจคือการดาวน์โหลดวิดีโอทั้งหมดของช่องนี้ (ประมาณ 3600) แต่ฉันไม่ประสบความสำเร็จในการyoutube-dlดาวน์โหลดทั้งหมดในครั้งเดียว
ดังนั้นฉันต้องการที่จะดาวน์โหลดในเครือของ 100s เป็นตัวอย่าง

หากฉันสามารถนำคำถามนี้ไปใช้เพิ่มเติมได้ฉันสามารถเขียนสคริปต์ทุบตีเพื่อดาวน์โหลดดัชนีเฉพาะของเพลย์ลิสต์ได้หรือไม่?

หากคุณเห็นลิงก์ด้านบน:
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA
สังเกตส่วน&index=141นี้

ตอนนี้ถ้าทำสิ่งนี้:

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

&index=${i}ขอให้สังเกตส่วน

vbsNiOkm0BUนี้จะดาวน์โหลดวิดีโอเดียวกันอีกครั้งและอีกครั้งเนื่องจาก

ความช่วยเหลือในเรื่องนี้จะได้รับการชื่นชมอย่างมาก ขอบคุณ.

คำตอบ:


14

เพลย์ลิส

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

... ที่<url-of-playlist>จะถูกแทนที่ด้วย URL ของรายการที่จะแทนที่FORMATด้วยรูปแบบวิดีโอใด ๆ ตัวอย่างเช่น18, NUMBER-STARTคือจำนวนของวิดีโอในรายการเพลงที่จะเริ่มต้นการดาวน์โหลดแรกและNUMBER-ENDเป็นจำนวนของวิดีโอในรายการเพลงที่จะดาวน์โหลดล่าสุด .

ช่อง

หากช่องมีเพลย์ลิสต์มากกว่าหนึ่งรายการให้คลิกที่เพลย์ลิสต์แรกและดาวน์โหลดวิดีโอทั้งหมดในเพลย์ลิสต์ที่เลือกโดยใช้คำสั่งด้านบน จากนั้นทำซ้ำสำหรับแต่ละเพลย์ลิสต์ในช่อง

คำอธิบาย

-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 

แปลงชื่อวิดีโอทั้งหมดเป็นตัวพิมพ์เล็ก

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/' {} +

คำอธิบาย

--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.

ขอบคุณ! นั่นได้ผล! อีกหนึ่งคำถามที่ฉันสามารถแปลงชื่อวิดีโอทั้งหมดให้เป็นตัวพิมพ์เล็กในขณะดาวน์โหลดได้หรือไม่ --output "%(title)s"ฉันสามารถระบุรูปแบบเช่น ฉันสามารถแปลงเป็นตัวพิมพ์เล็กได้หรือไม่
Rishiraj Surti
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.