Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

google and youtube script ( auto resume auto filename )

1 view
Skip to first unread message

paul...@yahoo.ca

unread,
Dec 13, 2006, 4:32:18 AM12/13/06
to
hi

I see people asking for google and youtube video download scripts.
Here they are, with auto resume, auto filename. Great for downloading a
lot of videos.
youtube script is not entirely foolproof, since youtube servers are
flaky.
If you make improvement, please post.

Simply give a bunch of links as arguments.
USAGE:
youtube.sh 'http://www.youtube.com/watch?v=B4Ztn24AFrg'
'http://www.youtube.com/watch?v=mP91qkZFYqY'
google.sh
'http://video.google.com/videoplay?docid=-7837509539130010782'
'http://video.google.com/videoplay?docid=6855624764467039569'

#!/bin/bash -x
# youtube.sh
for arg in $@
do
rrr=`date +%s`
baseurl="http://youtube.com/get_video.php?"
wget $arg -O $rrr.urlsource.txt
fname=`grep '<title>' $rrr.urlsource.txt | sed "s/.*YouTube...//" \
| sed "s/<.*//"| sed "s/ /_/g" | sed "s/\//of/g" | sed "s/\~/_/g" \
| sed "s/(/_/g" | sed "s/)/_/g" | sed "s/__/_/g" `.flv
grep "player2.swf" $rrr.urlsource.txt > $rrr.url.info
cut -d? -f2 $rrr.url.info > $rrr.url
cut -d\" -f1 $rrr.url > $rrr.videoid
videourl=`cat $rrr.videoid`
fullurl=${baseurl}${videourl}
curl -I -L ${fullurl} > $rrr.txt
loc=`grep Location $rrr.txt | sed "s/Location: //"`
wget --read-timeout 3 -O $fname -t 0 -w 1 --waitretry=1 $loc
rm $rrr.urlsource.txt $rrr.url.info $rrr.url $rrr.videoid $rrr.txt
done


#!/bin/bash -x
# google.sh
for arg in $@
do
rrr=`date +%s`
wget $arg -O $rrr.urlsource.txt
fname=`grep '<title>' $rrr.urlsource.txt | sed "s/- Google Video.*//" |
\
sed "s/.*<title>//" | sed "s/:/_/g" | sed "s/ /_/g" | sed "s/\//of/g"
| \
sed "s/\~/_/g" | sed "s/(/_/g" | sed "s/)/_/g" | sed "s/__/_/g" | \
sed "s/__/_/g" `.avi
fname=`perl -e "use
HTML::Entities;print(decode_entities(\"$fname\"));"`
url="url="`perl -e "use CGI;print CGI::escape(\"$arg\");"`"&site=aa"
len=$(( `echo $url|wc -m` - 1 ))
curl http://s1947.gridserver.com/keepvid.php -d $url > $rrr.txt
loc=`cat $rrr.txt |grep 'avi - High Quality'|sed "s/.avi - High
Quality.*//" \
| sed "s/.*<a href=\"//" | sed "s/\".*//" | sed "s/amp;//g"`
rm $rrr.txt $rrr.urlsource.txt
wget --read-timeout 3 -O $fname -t 0 -w 1 --waitretry=1 $loc
done

Don Pearce

unread,
Dec 13, 2006, 4:36:12 AM12/13/06
to

Alternatively use Firefox with its download plugin. It works.

d

--
Pearce Consulting
http://www.pearce.uk.com

paul...@yahoo.ca

unread,
Dec 13, 2006, 4:51:56 AM12/13/06
to

What happens when you need to download 211 episodes of Naruto?

sanjian

unread,
Dec 13, 2006, 6:13:48 AM12/13/06
to

You get the torrents. Watching an episode or two on youtube is one thing,
but if you're going to go and do 200+, get the larger, better-quality
version.

Then buy the R1 DVDs when they come out, Sharranyao!


Scott Dorsey

unread,
Dec 13, 2006, 6:59:02 AM12/13/06
to
<paul...@yahoo.ca> wrote:
>
>What happens when you need to download 211 episodes of Naruto?

You use a for/do loop in bash to call the script. However, you should not
hold the script author for the consequent brain damage that you get from
watching all that stuff.
--scott

--
"C'est un Nagra. C'est suisse, et tres, tres precis."

Bruce Tomlin

unread,
Dec 13, 2006, 9:14:07 AM12/13/06
to
In article <457fc971....@text.usenet.plus.net>,
nos...@nospam.com (Don Pearce) wrote:

> Alternatively use Firefox with its download plugin. It works.

Also keepvid.com works for me.

Ansgar -59cobalt- Wiechers

unread,
Dec 13, 2006, 2:22:10 PM12/13/06
to

Ouch. This is wrong in so many ways that I can't even begin to describe
it.

----8<----
#!/bin/bash
# youtube.sh

tmpfile="$(date +%s).urlsource.txt"
baseurl="http://youtube.com/get_video.php?"

CURLOPTS="-s -S"
max_retries=3

umask 077

for url in "$@"; do
curl ${CURLOPTS} -o "${tmpfile}" "${url}"
outputfile="$(awk '/<title>/ {
gsub(".*YouTube...|<.*|", "", $0);
gsub("/", "of", $0);
gsub("[ ~()]", "_", $0);
gsub("__*", "_", $0);
print $0
}' "${tmpfile}").flv"
videoid="$(awk '/player2\.swf/ {gsub("^.*\\?|\\\".*$", "", $0); print $0}' "${tmpfile}")"
location="$(curl ${CURLOPTS} -I -L "${baseurl}${videoid}" | awk '/Location: / {sub("\r", "", $2); print $2}')"
curl ${CURLOPTS} --retry ${max_retries} -o "${outputfile}" "${location}"
done

rm -f "${tmpfile}"

exit 0
---->8----

The other script is even worse.

F'up2colm

cu
59cobalt
--
"My surname is Li and my personal name is Kao, and there is a slight
flaw in my character."
--Li Kao (Barry Hughart: Bridge of Birds)

S.t.A.n.L.e.E

unread,
Dec 13, 2006, 3:16:35 PM12/13/06
to
Wed, 13 Dec 2006 9:36am-0000, Don Pearce <nos...@nospam.com>:

>
> Alternatively use Firefox with its download plugin. It works.
>

http://vixy.net/flv_converter

Laters. =)

Stan
--
_______ ________ _______ ____ ___ ___ ______ ______
| __|__ __| _ | \ | | | | _____| _____|
|__ | | | | _ | |\ | |___| ____|| ____|
|_______| |__| |__| |__|___| \ ___|_______|______|______|
__| | ( )
/ _ | |/ LostRune+sig [at] UofR [dot] net
| ( _| | http://www.uofr.net/~lostrune/
\ ______| _______ ____ ___
/ \ / \ | _ | \ | |
/ \/ \| _ | |\ |
/___/\/\___|__| |__|___| \ ___|


0 new messages