humm... vamos por partes [momento sem shell script]
Vc pode dar uma olhada neste arquivo aqui: http://www.joshkinberg.com/blog/files/youtube_to_me.user.js Atente a estes comentarios: * YouTube download link: http://youtube.com/get_video?video_id=[video_id]&t=[t_id] * YouTube URL: http://www.youtube.com/watch?v=[video_id] para determinar os parametros necessários para o correto download do video, recorremos à uma ação invasiva ao site youtube. Olhando o codigo fonte do site encontramos algo como "/watch_fullscreen?video_id=NINJQ5LRh-0&l=184&t=OEgsToPDskKfwz7vUjuWTJj-TneVUwhc&s=4A240C1D3B58E8CA:53C662DC848F75CD&fs=1&title=" [fim do momento sem shell script] Logo, basta fazer umas linhas de shell... Vou usar o wget 2 vezes, 1) para pegar os codigos necessarios para o download do video; 2) para baixar o video em si de posse dos codigos, baixar o video é facil. Usando alguma tipo de intuição eu vou montando as strings na 'força bruta', não achei muita documentação sobre isso. É um desafio mesmo. vou usar awk no meio do caminho pois para mim é obvio como deve ser feito e o resultado é didatico - sed faria o mesmo de outra forma. vou usar 2 splits e 1 "grep" do awk Façam o teste (e melhorem, fiz só o basicão mesmo) #!/bin/bash # forma de uso # ./script 'http://www.youtube.com/watch?v=[video_id]' # sim, poderia funcionar tanto com a url completa quanto com o video_id # mas isso fica por conta de vcs # não garanto que funcione sempre, também... é uma gambiarra mas... tentem URL="${1}" wget "${URL}" -O - | awk 'function wget(url,id){ cmd = "wget -O "id".flv \""url"\"" # a url tem que estar protegida entre aspas! print "Running:\n"cmd system(cmd); } /watch_fullscreen/{ a=index($0,"watch_fullscreen"); line=substr($0,17+a); # pega a linha com os codigos split(line,arr,"&"); # pega os pares chave=valor for(i in arr){ split(arr[i],par,"="); # separa a chave do valor id = par[1]; value = par[2]; vetor[id] = value; # cria vetor explicito } } END{ # agora montamos a url e mandamos para o wget :) url = "http://youtube.com/get_video?video_id="vetor["video_id"]"&t="vetor["t"] wget(url, vetor["video_id"]); }' trap "" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 echo "* Fim do download *" ; sleep 10 echo "* Fim mesmo, ze-fi-ni *" ; sleep 20 echo "* Humm, ... *" ; sleep 30 echo "* Baixe outro video * " ; sleep 40 echo "* Vai ser legal, baixe!!! *" ; sleep 50 On 11/28/06, Alfredo Casanova <[EMAIL PROTECTED]> wrote: > > > > > > > Olá pessoal > > estou pensando em desenvolver um script pra baixar arquivos do YouTube, e > estava pensando em utilizar o site www.keepvid.com para me auxiliar. > > Nesse site vc fornece o link do vídeo e ele te dá um link para puxar o > arquivo .flv > > Porém, não sei como fazer para enviar o link do vídeo para o site... será > que terei que sniffar o pacote e reproduzir num form? > > alguma ideia? > > -- > []'s > Alfredo Casanova > -- Tiago B Peczenyj Linux User #405772 # cd /pub # more beer
