没太大的技术含量,主要的工作都是一个叫keepvid.com的网站完成的,它有以下特点:
- 因为用到了zenity,此脚本适合在ubuntu下是用使用,如果需要在puppy下使用,可以把zenity替换成xdialog;
- 如果安装了xsel,可以从剪切版读取地址;
- 支持下载playlist里的所有video;
- 支持连续下载多个地址。
#!/bin/sh test $# -gt 1 && addr="$*" || addr=`zenity --width 300 --entry --title "Downtube" --text "Input address of the video" --entry-text "$(xsel -o 2>/dev/null)"` for addr in $addr; do echo "$addr" | grep -q '^http://www.youtube.com/view_play_list?' && addrs="${addrs} `wget -O - "$addr" | grep -o 'qlicon="[^"]*' | sed 's@qlicon="@http://www.youtube.com/watch?v=@'`" || addrs="${addrs} ${addr}" done echo $addrs; for addr in $addrs; do title=`wget -O - "$addr" | grep -o '<title>.*</title>' | sed 's@</\?title>@@g; s@^YouTube - @@; s/'/'\''/g; s/</</g; s/>/>/g; s/&/&/g; s/"/"/g' | sed 's@/@_@g'` wget -O - "http://keepvid.com/?url=$addr" | grep -o '/save-video.mp4[^"]*' | sed 's@^@http://keepvid.com@' | wget -c -i - -O "${title}.mp4" || { rm "${title}.mp4"; wget -O - "http://keepvid.com/?url=$addr" | grep -o '/save-video.flv[^"]*' | sed 's@^@http://keepvid.com@' | wget -c -i - -O "${title}.flv"; } done
- labrador's blog
- 10170 次点击
发表新评论