shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Enviar e receber dados de um site


From: Alfredo Casanova
Subject: Re: [shell-script] Enviar e receber dados de um site
Date: Tue, 28 Nov 2006 21:41:21 +0000

eu ainda vou ler o codigo, mas acho que terei que adaptar algumas coisas...
o maior problema que tenho é que no meu trabalho a expressao *youtube.com* é
bloqueada.
Porém, se eu pegar o ip do site, via ping, consigo acessar normalmente no
browser.

Ocorre que alguns os videos do youtube ficam hospedados em diversos
servidores, que seguem um padrao de nomenclatura mais ou menos assim:

chi-vXX.chi.youtube.com
lax-vXX.lax.youtube.com
dentre outros
alguns outros são
youtube-XXX.algumacoisa

esses que sao youtube-XXX.algumacoisa eu consigo assistir, mas, para
assistir aos demais, preciso enviar o link para o keep vid, entao ele me da
o download link (normalmente algo tipo
http://chi-vxx.chi.youtube.com/lavaiummontedecodigo)
entao tenho que dar um ping no chi-vXX blablabla, colar o
ip/lavaiummontedecodigo no browser pra conseguir puxar o video e soh entao
assisti-lo...
é uma baita trabalheira, mas com o nosso graaaaaaaaaaande shell, vai ficar
mais simples... so vou ter que implementar mais uns pings, greps e cuts...
aí vai ficar uma maravilha e eu mando aqui pro pessoal ver :)


On 11/28/06, Ricardo Acosta <address@hidden> wrote:
>
>   Olá Alfredo! e camaradas!
>
> aproveitando a carona no momento SEM SHELL SCRIPT
> existe o software chamado: dowtube.
>
> é um programa feito em python.
> funciona na linha de comando, com *unix!
>
> http://www.downtube.kit.net/index2.htm
>
> ...
> a idéa por tras do código é exatamente a que o Tiago passou - com Shell!
> com mais algumas funcionalidades!
>
> []s
> acosta
>
> 2006/11/28, Alfredo Casanova <address@hidden<atcasanova%40gmail.com>
> >:
>
> > deus do céu
> > acho que eu nao ia dar conta de fazer isso hehehehe
> > hora de ir embora, amanha vou ler com mais calma...
> > de qualquer forma, muitíssimo obrigado, thiago!
> >
> > On 11/28/06, Tiago Barcellos Peczenyj 
> > <address@hidden<tiago.peczenyj%40gmail.com>>
> wrote:
> > >
> > > 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 <address@hidden<atcasanova%40gmail.com>
> <atcasanova%40gmail.com>>
> > > 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
> > >
> > >
> >
> >
> >
> > --
> > []'s
> > Alfredo Casanova
> > Linux User #228230
> > icq: 15793271
> > msn: address@hidden <atcasanova%40gmail.com>
> > aim: alfredotcasanova
> > yim: atcasanova2
> > tel: +55 61 84137319
> > As aves têm na boca um dente chamado bico
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ----------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de programação,
> como perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> > ----------------------------------------------------------
> > Sair da lista: address@hidden<shell-script-unsubscribe%40yahoogrupos.com.br>
> > ----------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> > ----------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> >
> > Links do Yahoo! Grupos
> >
> >
> >
>
> --
> __________________________
> Ricardo Acosta
> Laboratório de Clima e Biosfera
> Depto. de Ciências Atmosféricas
> Universidade de São Paulo
>
> Dê emoção à sua vida:
> Faça pipocas com a panela aberta!
>
>  
>



-- 
[]'s
Alfredo Casanova
Linux User #228230
icq: 15793271
msn: address@hidden
aim: alfredotcasanova
yim: atcasanova2
tel: +55 61 84137319
As aves têm na boca um dente chamado bico


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]