Unix questions - google and youtube script ( auto resume auto filename )

This is Interesting: Free IT Magazines  
Home > Archive > Unix questions > December 2006 > google and youtube script ( auto resume auto filename )





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author google and youtube script ( auto resume auto filename )
paulwvanc@yahoo.ca

2006-12-13, 7:24 am

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

2006-12-13, 7:24 am

On 13 Dec 2006 01:32:18 -0800, paulwvanc@yahoo.ca wrote:

>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


Alternatively use Firefox with its download plugin. It works.

d

--
Pearce Consulting
http://www.pearce.uk.com
paulwvanc@yahoo.ca

2006-12-13, 7:24 am


Don Pearce wrote:
> On 13 Dec 2006 01:32:18 -0800, paulwvanc@yahoo.ca wrote:
>
>
> Alternatively use Firefox with its download plugin. It works.


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

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


sanjian

2006-12-13, 7:24 am

paulwvanc@yahoo.ca wrote:
> Don Pearce wrote:
[vbcol=seagreen]
>
> What happens when you need to download 211 episodes of Naruto?


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

2006-12-13, 7:24 am

<paulwvanc@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

2006-12-13, 1:19 pm

In article <457fc971.334173312@text.usenet.plus.net>,
nospam@nospam.com (Don Pearce) wrote:

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


Also keepvid.com works for me.
Ansgar -59cobalt- Wiechers

2006-12-13, 7:22 pm

In rec.arts.anime.misc paulwvanc@yahoo.ca wrote:
> 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


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

2006-12-13, 7:22 pm

Wed, 13 Dec 2006 9:36am-0000, Don Pearce <nospam@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/
\ ______| _______ ____ ___
/ \ / \ | _ | \ | |
/ \/ \| _ | |\ |
/___/\/\___|__| |__|___| \ ___|


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com