Re: [Rio-pm] HTML::Parse

2012-10-27 Por tôpico Alexei Znamensky
Aureliano,

Eu vi algo no seu código que não é um erro, e há controvérsias sobre ser
boa ou má prática, varia um pouco com gosto do freguês, mas que eu
pessoalmente gosto de fazer diferente. Acho que é um estilo melhor.

Ao invés de fazer (principalmente em loops), algo como:

for(...)
  if( deu certo )
faz um lance
  else #deu errado
mostra ou trata erro
  endif
endfor


Eu geralmente prefiro fazer assim


for(...)
  if( deu errado )
mostra ou trata erro
next# ou die, depdende de como voce quer lidar com o erro
  elseif( deu outro lance errado )
mostra ou trata
next
  ... # tantas quantas validações forem necessárias
  endif
  # parâmetros desta iteração estão validados

  faz um lance
endfor


Acho que dessa forma, você simplifica a leitura do código: 1) o que for
erro você trata logo, e depois que passa daquele bloco de validações está
ok e 2) visualmente faz até mais sentido: o código mais indentado no começo
é a exceção, enquanto que a "regra" está apenas um nível de indentação
depois do comando de loop.

my $two_cents;

Russo

2012/10/25 Aureliano Guedes 

>  Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más
> praticas, mandando reguex em xml e tals.
>
> Quero fazer de forma bonita com XPath e tals. Mas ainda estou em processo
> de entendet tudo isso.
>
> Estou tentando pegar o primeiro link da lista de videos de um resultado de
> pesquisa do YouTube.
> Para isso estou ultilizando uma API do YouTube:
> https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos
>
> Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx
>
>
> #!/usr/bin/env perl
>
> use common::sense;
> use WWW::Mechanize;
> use URI::Escape;
> use HTML::TreeBuilder::XPath;
>
> my $html = WWW::Mechanize->new(timeout=>100);
>
> open IN, $ARGV[0] or die $!;
>
> foreach (){
> s/\s+/\+/g;
> chomp;
> my $url = 'https://gdata.youtube.com/feeds/api/videos?q=' .
> uri_escape($_);
> $html->get($url);
> if ($html->is_success){
> my $page = $html->content;
> $page =~ s/(\n\r|\r\n)|\r/\n/g;
>
> my $tree = HTML::TreeBuilder::XPath->new();
>
> my $node = $tree->findenodes('/html/body//a[@href=(.*)]')->[0];
>
> print $node;
> }
>     else {
> print "FAIL: " . $! . "\n";
> }
> }
>
>
>
> > Date: Thu, 25 Oct 2012 13:06:40 -0200
> > From: br...@rio.pm.org
>
> > To: rio-pm@pm.org
> > Subject: Re: [Rio-pm] HTML::Parse
> >
> > 2012/10/21 Aureliano Guedes 
> > >
> > > Ola.
> > >
> > > Eu estoiu tentando usar o WWW::Mechanize, mas não estou entendendo uma
> coisa.
> > > Eu tenho um botão:
> > >
> > >  href="/dl/347357664b655256724e/554545485125135/Fernando+E+Sorocaba+Tenso.mp3"
> rel="nofollow" title="Download Fernando E Sorocaba Tenso.mp3!">
> > > 
> > >
> > >
> > > Como eu faço para clicar nele usando o metodo click_button? Como faço
> para setar esse botão?
> > > Eu tentei:
> > >
> $m->click_button(value=>/dl/347357664b655256724e/554545485125135/Fernando+E+Sorocaba+Tenso.mp3);
> > > Mas não da certo.
> > >
> >
> > O seu botão não é um botão ( ou ) e sim
> > um link (). O Mechanize sabiamente os diferencia, e você
> > provavelmente está procurando o método follow_link()
> >
> > https://metacpan.org/module/WWW::Mechanize#mech-follow_link-...-
> >
> > Finalmente, se quiser aprender sobre XPath e Seletores CSS, recomendo
> > os seguintes artigos:
> >
> > http://sao-paulo.pm.org/artigo/2010/utilizandoxpathparacriarwebspiders
> >
> http://sao-paulo.pm.org/artigo/2011/ExtracaodedadoscomperlxpatheregexExportadoemODF
> >
> http://sao-paulo.pm.org/artigo/2011/ScrapingfacilcomMojoliciousefeedsAtom
> > (veja no final: guia de referência rápida para seletores CSS)
> >
> > ou ir direto na fonte:
> >
> > http://www.w3.org/TR/xpath/
> > http://www.w3.org/TR/CSS2/selector.html
> > http://www.w3.org/TR/css3-selectors/
> >
> > []s
> >
> > -b
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Alexei "RUSSOZ" Znamensky | russoz EM gmail com | http://russoz.org
GPG fingerprint = 42AB E78C B83A AE31 7D27  1CF3 C66F B5C7 71CA 9F3C
http://www.flickr.com/photos/alexeiz | http://github.com/russoz
"I don't know... fly casual!" -- Han Solo
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-27 Por tôpico Junior Moraes
Hi.

O meu é pra extrair o áudio de arquivos FLV. Não é diretamente relacionado
ao YouTube. :P

Enviado via mobile
Em 27/10/2012 00:19, "Renato Santos"  escreveu:

> Se não me engano esse módulo é do Junior Moraes
> Em 26/10/2012 22:14, "Aureliano Guedes" 
> escreveu:
>
>>  Vou estudar mais e ver se não começo por onde vocês estão me indicando.
>>
>> Por exemplo, sou acostumado usar ubuntu e slackware, mas meu note pifo e
>> to usando o pc de mesa com windows 7, e comecei a ter problemas com
>> download devido um problema tecnico ja explicado em outra tread pelo
>> Stanislaw Pusep.
>>
>> >>> Assumindo que o MP3 tenha uma entropia próxima de 8 bits por byte
>> (algo que definitivamente não vale para um arquivo .pl, por mais que nos
>> caçoem), um arquivo de 6,16MB poderá ter cerca de 25 mil ocorrências de
>> \x0A. Mapeando CR => CRLF, pode crescer em cerca de 50KB. Acho que
>> 6,19MB está dentro da faixa :) <<<
>>
>> Logo todo arquivo de audio e video chega com problema, usando esse modulo
>> -> https://metacpan.org/module/WWW::YouTube::Download
>>
>> Estou analizando a source dele com calma para ver se acho o erro, o
>> problema que essa source esta complexa praq minha mente, mas começo achar
>> que o problema esta em:
>>
>>  my $res = $self->ua->get($video_url, ':content_cb' => $args->{cb});
>> Carp::croak "!! $video_id download failed: ", $res->status_line if
>> $res->is_error;
>>
>> Depois darei um feedback sobre se corrigi o erro.
>>
>>
>> --
>> From: tiago.pecze...@gmail.com
>> Date: Fri, 26 Oct 2012 07:36:47 -0200
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] HTML::Parse
>>
>> e o que te impede de fazer a sua versão? se vc pensar um pouco vc pode
>> contribuir com algo bom e não uma copia de algo que ja exista. Outra coisa,
>> o que existe la pode ser antigo, nesse caso vc pode ou tentar assumir
>> aquele projeto ou lançar o seu baseado nos principios (oo, funcional,
>> assincrono, etc) que vc acredita. se o modulo for ruim ninguem vai usar,
>> simples assim.
>>
>> 2012/10/25 Aureliano Guedes 
>>
>>  Cara, eu acho o CPAN maravilhoso, mas as vezes é frustante você saber
>> que está criando algo que ja existe.
>>
>> Valeu.
>>
>>
>> --
>> From: creakt...@gmail.com
>> Date: Thu, 25 Oct 2012 22:33:46 -0200
>>
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] HTML::Parse
>>
>> ++breno!
>>
>> ABS()
>>
>>
>>
>> 2012/10/25 breno 
>>
>> 2012/10/25 Aureliano Guedes :
>> > Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más
>> praticas,
>> > mandando reguex em xml e tals.
>> >
>> > Quero fazer de forma bonita com XPath e tals. Mas ainda estou em
>> processo de
>> > entendet tudo isso.
>> >
>> > Estou tentando pegar o primeiro link da lista de videos de um resultado
>> de
>> > pesquisa do YouTube.
>> > Para isso estou ultilizando uma API do YouTube:
>> >
>> https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos
>> >
>> > Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx
>> >
>>
>> Olha, fora tudo, posso te garantir que não há erros :)
>>
>> Pergunta: vc tá fazendo isso só por diversão, né? Isso porque uma
>> busca rápida no CPAN me levou ao WebService::GData::YouTube, que faz
>> buscas e muito mais.
>>
>> https://metacpan.org/module/WebService::GData::YouTube#search_video
>>
>> O "one-liner" abaixo, por exemplo, exibe o título do primeiro
>> resultado para uma busca no YouTube por "perl":
>>
>> perl -MWebService::Gdata::YouTube -E 'my $yt =
>> WebService::GData::YouTube->new; $yt->query->q( q[perl] )->limit(1,0);
>> say $_->title foreach @{ $yt->search_video() }'
>>
>>
>> []s
>>
>> -b
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>>
>> ___ Rio-pm mailing list
>> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>>
>>
>> --
>> Tiago B. Peczenyj
>> Linux User #405772
>>
>> http://pacman.blog.br
>>
>> ___ Rio-pm mailing list
>> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-26 Por tôpico Renato Santos
Se não me engano esse módulo é do Junior Moraes
Em 26/10/2012 22:14, "Aureliano Guedes"  escreveu:

>  Vou estudar mais e ver se não começo por onde vocês estão me indicando.
>
> Por exemplo, sou acostumado usar ubuntu e slackware, mas meu note pifo e
> to usando o pc de mesa com windows 7, e comecei a ter problemas com
> download devido um problema tecnico ja explicado em outra tread pelo
> Stanislaw Pusep.
>
> >>> Assumindo que o MP3 tenha uma entropia próxima de 8 bits por byte
> (algo que definitivamente não vale para um arquivo .pl, por mais que nos
> caçoem), um arquivo de 6,16MB poderá ter cerca de 25 mil ocorrências de
> \x0A. Mapeando CR => CRLF, pode crescer em cerca de 50KB. Acho que
> 6,19MB está dentro da faixa :) <<<
>
> Logo todo arquivo de audio e video chega com problema, usando esse modulo
> -> https://metacpan.org/module/WWW::YouTube::Download
>
> Estou analizando a source dele com calma para ver se acho o erro, o
> problema que essa source esta complexa praq minha mente, mas começo achar
> que o problema esta em:
>
>  my $res = $self->ua->get($video_url, ':content_cb' => $args->{cb});
> Carp::croak "!! $video_id download failed: ", $res->status_line if
> $res->is_error;
>
> Depois darei um feedback sobre se corrigi o erro.
>
>
> ------
> From: tiago.pecze...@gmail.com
> Date: Fri, 26 Oct 2012 07:36:47 -0200
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> e o que te impede de fazer a sua versão? se vc pensar um pouco vc pode
> contribuir com algo bom e não uma copia de algo que ja exista. Outra coisa,
> o que existe la pode ser antigo, nesse caso vc pode ou tentar assumir
> aquele projeto ou lançar o seu baseado nos principios (oo, funcional,
> assincrono, etc) que vc acredita. se o modulo for ruim ninguem vai usar,
> simples assim.
>
> 2012/10/25 Aureliano Guedes 
>
>  Cara, eu acho o CPAN maravilhoso, mas as vezes é frustante você saber que
> está criando algo que ja existe.
>
> Valeu.
>
>
> --
> From: creakt...@gmail.com
> Date: Thu, 25 Oct 2012 22:33:46 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> ++breno!
>
> ABS()
>
>
>
> 2012/10/25 breno 
>
> 2012/10/25 Aureliano Guedes :
> > Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más
> praticas,
> > mandando reguex em xml e tals.
> >
> > Quero fazer de forma bonita com XPath e tals. Mas ainda estou em
> processo de
> > entendet tudo isso.
> >
> > Estou tentando pegar o primeiro link da lista de videos de um resultado
> de
> > pesquisa do YouTube.
> > Para isso estou ultilizando uma API do YouTube:
> >
> https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos
> >
> > Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx
> >
>
> Olha, fora tudo, posso te garantir que não há erros :)
>
> Pergunta: vc tá fazendo isso só por diversão, né? Isso porque uma
> busca rápida no CPAN me levou ao WebService::GData::YouTube, que faz
> buscas e muito mais.
>
> https://metacpan.org/module/WebService::GData::YouTube#search_video
>
> O "one-liner" abaixo, por exemplo, exibe o título do primeiro
> resultado para uma busca no YouTube por "perl":
>
> perl -MWebService::Gdata::YouTube -E 'my $yt =
> WebService::GData::YouTube->new; $yt->query->q( q[perl] )->limit(1,0);
> say $_->title foreach @{ $yt->search_video() }'
>
>
> []s
>
> -b
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://pacman.blog.br
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-26 Por tôpico Aureliano Guedes

Vou estudar mais e ver se não começo por onde vocês estão me indicando. 

Por exemplo, sou acostumado usar ubuntu e slackware, mas meu note pifo e to 
usando o pc de mesa com windows 7, e comecei a ter problemas com download 
devido um problema tecnico ja explicado em outra tread pelo Stanislaw Pusep.

>>> Assumindo que o MP3 tenha uma entropia próxima de 8 bits por byte (algo 
que definitivamente não vale para um arquivo .pl, por mais que nos 
caçoem), um arquivo de 6,16MB poderá ter cerca de 25 mil ocorrências de 
\x0A. Mapeando CR => CRLF, pode crescer em
cerca de 50KB. Acho que 6,19MB está dentro da faixa :) <<<

Logo todo arquivo de audio e video chega com problema, usando esse modulo -> 
https://metacpan.org/module/WWW::YouTube::Download

Estou analizando a source dele com calma para ver se acho o erro, o problema 
que essa source esta complexa praq minha mente, mas começo achar que o problema 
esta em:

 my $res = $self->ua->get($video_url, ':content_cb' => $args->{cb});
Carp::croak "!! $video_id download failed: ", $res->status_line if 
$res->is_error;

Depois darei um feedback sobre se corrigi o erro.


From: tiago.pecze...@gmail.com
Date: Fri, 26 Oct 2012 07:36:47 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

e o que te impede de fazer a sua versão? se vc pensar um pouco vc pode 
contribuir com algo bom e não uma copia de algo que ja exista. Outra coisa, o 
que existe la pode ser antigo, nesse caso vc pode ou tentar assumir aquele 
projeto ou lançar o seu baseado nos principios (oo, funcional, assincrono, etc) 
que vc acredita. se o modulo for ruim ninguem vai usar, simples assim.



2012/10/25 Aureliano Guedes 






Cara, eu acho o CPAN maravilhoso, mas as vezes é frustante você saber que está 
criando algo que ja existe.

Valeu.


From: creakt...@gmail.com


Date: Thu, 25 Oct 2012 22:33:46 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

++breno!


ABS()




2012/10/25 breno 


2012/10/25 Aureliano Guedes :

> Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más praticas,

> mandando reguex em xml e tals.

>

> Quero fazer de forma bonita com XPath e tals. Mas ainda estou em processo de

> entendet tudo isso.

>

> Estou tentando pegar o primeiro link da lista de videos de um resultado de

> pesquisa do YouTube.

> Para isso estou ultilizando uma API do YouTube:

> https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos





>

> Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx

>



Olha, fora tudo, posso te garantir que não há erros :)



Pergunta: vc tá fazendo isso só por diversão, né? Isso porque uma

busca rápida no CPAN me levou ao WebService::GData::YouTube, que faz

buscas e muito mais.



https://metacpan.org/module/WebService::GData::YouTube#search_video



O "one-liner" abaixo, por exemplo, exibe o título do primeiro

resultado para uma busca no YouTube por "perl":



perl -MWebService::Gdata::YouTube -E 'my $yt =

WebService::GData::YouTube->new; $yt->query->q( q[perl] )->limit(1,0);

say $_->title foreach @{ $yt->search_video() }'





[]s



-b

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm




___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
Tiago B. Peczenyj
Linux User #405772



http://pacman.blog.br


___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-26 Por tôpico Tiago Peczenyj
e o que te impede de fazer a sua versão? se vc pensar um pouco vc pode
contribuir com algo bom e não uma copia de algo que ja exista. Outra coisa,
o que existe la pode ser antigo, nesse caso vc pode ou tentar assumir
aquele projeto ou lançar o seu baseado nos principios (oo, funcional,
assincrono, etc) que vc acredita. se o modulo for ruim ninguem vai usar,
simples assim.

2012/10/25 Aureliano Guedes 

>  Cara, eu acho o CPAN maravilhoso, mas as vezes é frustante você saber que
> está criando algo que ja existe.
>
> Valeu.
>
>
> --
> From: creakt...@gmail.com
> Date: Thu, 25 Oct 2012 22:33:46 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> ++breno!
>
> ABS()
>
>
>
> 2012/10/25 breno 
>
> 2012/10/25 Aureliano Guedes :
> > Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más
> praticas,
> > mandando reguex em xml e tals.
> >
> > Quero fazer de forma bonita com XPath e tals. Mas ainda estou em
> processo de
> > entendet tudo isso.
> >
> > Estou tentando pegar o primeiro link da lista de videos de um resultado
> de
> > pesquisa do YouTube.
> > Para isso estou ultilizando uma API do YouTube:
> >
> https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos
> >
> > Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx
> >
>
> Olha, fora tudo, posso te garantir que não há erros :)
>
> Pergunta: vc tá fazendo isso só por diversão, né? Isso porque uma
> busca rápida no CPAN me levou ao WebService::GData::YouTube, que faz
> buscas e muito mais.
>
> https://metacpan.org/module/WebService::GData::YouTube#search_video
>
> O "one-liner" abaixo, por exemplo, exibe o título do primeiro
> resultado para uma busca no YouTube por "perl":
>
> perl -MWebService::Gdata::YouTube -E 'my $yt =
> WebService::GData::YouTube->new; $yt->query->q( q[perl] )->limit(1,0);
> say $_->title foreach @{ $yt->search_video() }'
>
>
> []s
>
> -b
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Tiago B. Peczenyj
Linux User #405772

http://pacman.blog.br
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-25 Por tôpico Leo Balter
curti essa ideia, vou brincar de fazer um app que baixe meus videos favoritos. 

Leo Balter - via mobile

Em 26/10/2012, às 03:24, breno  escreveu:

> O segredo é pesquisar antes, cara, ou mesmo perguntar. Com CPAN, 90%
> de qualquer programa já está pronto :)
> 
> Agora, você não precisa criar módulos... Por que não criar programas
> que usam esses módulos para fazer algo bacana? Por exemplo, a Renata
> me mostrou outro dia um site muito interessante chamado
> musicplayr.com, que integra diferentes listas de vídeos de música de
> sites como Vimeo, YouTube e SoundCloud. Mas não precisa nem ser pra
> web: que tal um programa que baixa todos os seus vídeos favoritados no
> YouTube? Com Perl e CPAN, isso é muito fácil, e é o tipo do programa
> super útil pra quem gosta de manter cópias de seus vídeos favoritos
> para ver offline.
> 
> Além disso, é como Gabriel e Solli falaram: escrever algo que já
> existe faz parte do aprendizado (e como tem sempre mais de uma maneira
> de se fazer as coisas, não há nada de errado em lançar módulos
> alternativos), e mesmo módulos já existentes podem se beneficiar com a
> implementação de novas features e correções de bugs.
> 
> É isso. Agora vá e crie coisas incríveis.
> :)
> 
> []s
> 
> -b
> 
> 2012/10/25 Aureliano Guedes :
>> Cara, eu acho o CPAN maravilhoso, mas as vezes é frustante você saber que
>> está criando algo que ja existe.
>> 
>> Valeu.
>> 
>> 
>> ____________
>> From: creakt...@gmail.com
>> Date: Thu, 25 Oct 2012 22:33:46 -0200
>> 
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] HTML::Parse
>> 
>> ++breno!
>> 
>> ABS()
>> 
>> 
>> 
>> 2012/10/25 breno 
>> 
>> 2012/10/25 Aureliano Guedes :
>>> Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más praticas,
>>> mandando reguex em xml e tals.
>>> 
>>> Quero fazer de forma bonita com XPath e tals. Mas ainda estou em processo
>>> de
>>> entendet tudo isso.
>>> 
>>> Estou tentando pegar o primeiro link da lista de videos de um resultado de
>>> pesquisa do YouTube.
>>> Para isso estou ultilizando uma API do YouTube:
>>> 
>>> https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos
>>> 
>>> Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx
>> 
>> Olha, fora tudo, posso te garantir que não há erros :)
>> 
>> Pergunta: vc tá fazendo isso só por diversão, né? Isso porque uma
>> busca rápida no CPAN me levou ao WebService::GData::YouTube, que faz
>> buscas e muito mais.
>> 
>> https://metacpan.org/module/WebService::GData::YouTube#search_video
>> 
>> O "one-liner" abaixo, por exemplo, exibe o título do primeiro
>> resultado para uma busca no YouTube por "perl":
>> 
>> perl -MWebService::Gdata::YouTube -E 'my $yt =
>> WebService::GData::YouTube->new; $yt->query->q( q[perl] )->limit(1,0);
>> say $_->title foreach @{ $yt->search_video() }'
>> 
>> 
>> []s
>> 
>> -b
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>> 
>> 
>> 
>> ___ Rio-pm mailing list
>> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>> 
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] HTML::Parse

2012-10-25 Por tôpico breno
O segredo é pesquisar antes, cara, ou mesmo perguntar. Com CPAN, 90%
de qualquer programa já está pronto :)

Agora, você não precisa criar módulos... Por que não criar programas
que usam esses módulos para fazer algo bacana? Por exemplo, a Renata
me mostrou outro dia um site muito interessante chamado
musicplayr.com, que integra diferentes listas de vídeos de música de
sites como Vimeo, YouTube e SoundCloud. Mas não precisa nem ser pra
web: que tal um programa que baixa todos os seus vídeos favoritados no
YouTube? Com Perl e CPAN, isso é muito fácil, e é o tipo do programa
super útil pra quem gosta de manter cópias de seus vídeos favoritos
para ver offline.

Além disso, é como Gabriel e Solli falaram: escrever algo que já
existe faz parte do aprendizado (e como tem sempre mais de uma maneira
de se fazer as coisas, não há nada de errado em lançar módulos
alternativos), e mesmo módulos já existentes podem se beneficiar com a
implementação de novas features e correções de bugs.

É isso. Agora vá e crie coisas incríveis.
:)

[]s

-b

2012/10/25 Aureliano Guedes :
> Cara, eu acho o CPAN maravilhoso, mas as vezes é frustante você saber que
> está criando algo que ja existe.
>
> Valeu.
>
>
> 
> From: creakt...@gmail.com
> Date: Thu, 25 Oct 2012 22:33:46 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> ++breno!
>
> ABS()
>
>
>
> 2012/10/25 breno 
>
> 2012/10/25 Aureliano Guedes :
>> Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más praticas,
>> mandando reguex em xml e tals.
>>
>> Quero fazer de forma bonita com XPath e tals. Mas ainda estou em processo
>> de
>> entendet tudo isso.
>>
>> Estou tentando pegar o primeiro link da lista de videos de um resultado de
>> pesquisa do YouTube.
>> Para isso estou ultilizando uma API do YouTube:
>>
>> https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos
>>
>> Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx
>>
>
> Olha, fora tudo, posso te garantir que não há erros :)
>
> Pergunta: vc tá fazendo isso só por diversão, né? Isso porque uma
> busca rápida no CPAN me levou ao WebService::GData::YouTube, que faz
> buscas e muito mais.
>
> https://metacpan.org/module/WebService::GData::YouTube#search_video
>
> O "one-liner" abaixo, por exemplo, exibe o título do primeiro
> resultado para uma busca no YouTube por "perl":
>
> perl -MWebService::Gdata::YouTube -E 'my $yt =
> WebService::GData::YouTube->new; $yt->query->q( q[perl] )->limit(1,0);
> say $_->title foreach @{ $yt->search_video() }'
>
>
> []s
>
> -b
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] HTML::Parse

2012-10-25 Por tôpico Solli Honorio
Mas também sempre tem algo a ser feito, alguma feature nova ou algum bug a
ser corrigido.

Solli

Em 26 de outubro de 2012 01:14, Ole Peter Smith escreveu:

> aureliano
>
> todo programador tem que passar por isso, criar algo que ja existe.
> chama-se aprendizagem
>
> 0le
>
> Send via Android
> On Oct 25, 2012 10:16 PM, "Aureliano Guedes" 
> wrote:
>
>>  Cara, eu acho o CPAN maravilhoso, mas as vezes é frustante você saber
>> que está criando algo que ja existe.
>>
>> Valeu.
>>
>>
>> --
>> From: creakt...@gmail.com
>> Date: Thu, 25 Oct 2012 22:33:46 -0200
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] HTML::Parse
>>
>> ++breno!
>>
>> ABS()
>>
>>
>>
>> 2012/10/25 breno 
>>
>> 2012/10/25 Aureliano Guedes :
>> > Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más
>> praticas,
>> > mandando reguex em xml e tals.
>> >
>> > Quero fazer de forma bonita com XPath e tals. Mas ainda estou em
>> processo de
>> > entendet tudo isso.
>> >
>> > Estou tentando pegar o primeiro link da lista de videos de um resultado
>> de
>> > pesquisa do YouTube.
>> > Para isso estou ultilizando uma API do YouTube:
>> >
>> https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos
>> >
>> > Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx
>> >
>>
>> Olha, fora tudo, posso te garantir que não há erros :)
>>
>> Pergunta: vc tá fazendo isso só por diversão, né? Isso porque uma
>> busca rápida no CPAN me levou ao WebService::GData::YouTube, que faz
>> buscas e muito mais.
>>
>> https://metacpan.org/module/WebService::GData::YouTube#search_video
>>
>> O "one-liner" abaixo, por exemplo, exibe o título do primeiro
>> resultado para uma busca no YouTube por "perl":
>>
>> perl -MWebService::Gdata::YouTube -E 'my $yt =
>> WebService::GData::YouTube->new; $yt->query->q( q[perl] )->limit(1,0);
>> say $_->title foreach @{ $yt->search_video() }'
>>
>>
>> []s
>>
>> -b
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>>
>> ___ Rio-pm mailing list
>> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
"o animal satisfeito dorme". - Guimarães Rosa
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-25 Por tôpico Ole Peter Smith
aureliano

todo programador tem que passar por isso, criar algo que ja existe.
chama-se aprendizagem

0le

Send via Android
On Oct 25, 2012 10:16 PM, "Aureliano Guedes" 
wrote:

>  Cara, eu acho o CPAN maravilhoso, mas as vezes é frustante você saber que
> está criando algo que ja existe.
>
> Valeu.
>
>
> --
> From: creakt...@gmail.com
> Date: Thu, 25 Oct 2012 22:33:46 -0200
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> ++breno!
>
> ABS()
>
>
>
> 2012/10/25 breno 
>
> 2012/10/25 Aureliano Guedes :
> > Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más
> praticas,
> > mandando reguex em xml e tals.
> >
> > Quero fazer de forma bonita com XPath e tals. Mas ainda estou em
> processo de
> > entendet tudo isso.
> >
> > Estou tentando pegar o primeiro link da lista de videos de um resultado
> de
> > pesquisa do YouTube.
> > Para isso estou ultilizando uma API do YouTube:
> >
> https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos
> >
> > Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx
> >
>
> Olha, fora tudo, posso te garantir que não há erros :)
>
> Pergunta: vc tá fazendo isso só por diversão, né? Isso porque uma
> busca rápida no CPAN me levou ao WebService::GData::YouTube, que faz
> buscas e muito mais.
>
> https://metacpan.org/module/WebService::GData::YouTube#search_video
>
> O "one-liner" abaixo, por exemplo, exibe o título do primeiro
> resultado para uma busca no YouTube por "perl":
>
> perl -MWebService::Gdata::YouTube -E 'my $yt =
> WebService::GData::YouTube->new; $yt->query->q( q[perl] )->limit(1,0);
> say $_->title foreach @{ $yt->search_video() }'
>
>
> []s
>
> -b
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-25 Por tôpico Aureliano Guedes

Cara, eu acho o CPAN maravilhoso, mas as vezes é frustante você saber que está 
criando algo que ja existe.

Valeu.


From: creakt...@gmail.com
Date: Thu, 25 Oct 2012 22:33:46 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

++breno!
ABS()




2012/10/25 breno 


2012/10/25 Aureliano Guedes :

> Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más praticas,

> mandando reguex em xml e tals.

>

> Quero fazer de forma bonita com XPath e tals. Mas ainda estou em processo de

> entendet tudo isso.

>

> Estou tentando pegar o primeiro link da lista de videos de um resultado de

> pesquisa do YouTube.

> Para isso estou ultilizando uma API do YouTube:

> https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos



>

> Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx

>



Olha, fora tudo, posso te garantir que não há erros :)



Pergunta: vc tá fazendo isso só por diversão, né? Isso porque uma

busca rápida no CPAN me levou ao WebService::GData::YouTube, que faz

buscas e muito mais.



https://metacpan.org/module/WebService::GData::YouTube#search_video



O "one-liner" abaixo, por exemplo, exibe o título do primeiro

resultado para uma busca no YouTube por "perl":



perl -MWebService::Gdata::YouTube -E 'my $yt =

WebService::GData::YouTube->new; $yt->query->q( q[perl] )->limit(1,0);

say $_->title foreach @{ $yt->search_video() }'





[]s



-b

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm




___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-25 Por tôpico Stanislaw Pusep
++breno!

ABS()



2012/10/25 breno 

> 2012/10/25 Aureliano Guedes :
> > Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más
> praticas,
> > mandando reguex em xml e tals.
> >
> > Quero fazer de forma bonita com XPath e tals. Mas ainda estou em
> processo de
> > entendet tudo isso.
> >
> > Estou tentando pegar o primeiro link da lista de videos de um resultado
> de
> > pesquisa do YouTube.
> > Para isso estou ultilizando uma API do YouTube:
> >
> https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos
> >
> > Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx
> >
>
> Olha, fora tudo, posso te garantir que não há erros :)
>
> Pergunta: vc tá fazendo isso só por diversão, né? Isso porque uma
> busca rápida no CPAN me levou ao WebService::GData::YouTube, que faz
> buscas e muito mais.
>
> https://metacpan.org/module/WebService::GData::YouTube#search_video
>
> O "one-liner" abaixo, por exemplo, exibe o título do primeiro
> resultado para uma busca no YouTube por "perl":
>
> perl -MWebService::Gdata::YouTube -E 'my $yt =
> WebService::GData::YouTube->new; $yt->query->q( q[perl] )->limit(1,0);
> say $_->title foreach @{ $yt->search_video() }'
>
>
> []s
>
> -b
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-25 Por tôpico breno
2012/10/25 Aureliano Guedes :
> Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más praticas,
> mandando reguex em xml e tals.
>
> Quero fazer de forma bonita com XPath e tals. Mas ainda estou em processo de
> entendet tudo isso.
>
> Estou tentando pegar o primeiro link da lista de videos de um resultado de
> pesquisa do YouTube.
> Para isso estou ultilizando uma API do YouTube:
> https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos
>
> Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx
>

Olha, fora tudo, posso te garantir que não há erros :)

Pergunta: vc tá fazendo isso só por diversão, né? Isso porque uma
busca rápida no CPAN me levou ao WebService::GData::YouTube, que faz
buscas e muito mais.

https://metacpan.org/module/WebService::GData::YouTube#search_video

O "one-liner" abaixo, por exemplo, exibe o título do primeiro
resultado para uma busca no YouTube por "perl":

perl -MWebService::Gdata::YouTube -E 'my $yt =
WebService::GData::YouTube->new; $yt->query->q( q[perl] )->limit(1,0);
say $_->title foreach @{ $yt->search_video() }'


[]s

-b
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] HTML::Parse

2012-10-25 Por tôpico Aureliano Guedes

Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más praticas, 
mandando reguex em xml e tals.

Quero fazer de forma bonita com XPath e tals. Mas ainda estou em processo de 
entendet tudo isso.

Estou tentando pegar o primeiro link da lista de videos de um resultado de 
pesquisa do YouTube.
Para isso estou ultilizando uma API do YouTube: 
https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos

Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx

#!/usr/bin/env perl

use common::sense;
use WWW::Mechanize;
use URI::Escape;
use HTML::TreeBuilder::XPath;

my $html = WWW::Mechanize->new(timeout=>100);

open IN, $ARGV[0] or die $!;

foreach (){
s/\s+/\+/g;
chomp;
my $url = 'https://gdata.youtube.com/feeds/api/videos?q=' . uri_escape($_);
$html->get($url);
if ($html->is_success){
my $page = $html->content;
$page =~ s/(\n\r|\r\n)|\r/\n/g;

my $tree = HTML::TreeBuilder::XPath->new();

my $node = $tree->findenodes('/html/body//a[@href=(.*)]')->[0];

print $node;
}
else {
print "FAIL: " . $! . "\n";
}
}



> Date: Thu, 25 Oct 2012 13:06:40 -0200
> From: br...@rio.pm.org
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
> 
> 2012/10/21 Aureliano Guedes 
> >
> > Ola.
> >
> > Eu estoiu tentando usar o WWW::Mechanize, mas não estou entendendo uma 
> > coisa.
> > Eu tenho um botão:
> >
> >  > href="/dl/347357664b655256724e/554545485125135/Fernando+E+Sorocaba+Tenso.mp3"
> >  rel="nofollow" title="Download Fernando E Sorocaba Tenso.mp3!">
> > 
> >
> >
> > Como eu faço para clicar nele usando o metodo click_button? Como faço para 
> > setar esse botão?
> > Eu tentei:
> > $m->click_button(value=>/dl/347357664b655256724e/554545485125135/Fernando+E+Sorocaba+Tenso.mp3);
> > Mas não da certo.
> >
> 
> O seu botão não é um botão ( ou ) e sim
> um link (). O Mechanize sabiamente os diferencia, e você
> provavelmente está procurando o método follow_link()
> 
> https://metacpan.org/module/WWW::Mechanize#mech-follow_link-...-
> 
> Finalmente, se quiser aprender sobre XPath e Seletores CSS, recomendo
> os seguintes artigos:
> 
> http://sao-paulo.pm.org/artigo/2010/utilizandoxpathparacriarwebspiders
> http://sao-paulo.pm.org/artigo/2011/ExtracaodedadoscomperlxpatheregexExportadoemODF
> http://sao-paulo.pm.org/artigo/2011/ScrapingfacilcomMojoliciousefeedsAtom
> (veja no final: guia de referência rápida para seletores CSS)
> 
> ou ir direto na fonte:
> 
> http://www.w3.org/TR/xpath/
> http://www.w3.org/TR/CSS2/selector.html
> http://www.w3.org/TR/css3-selectors/
> 
> []s
> 
> -b
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-25 Por tôpico breno
2012/10/21 Aureliano Guedes 
>
> Ola.
>
> Eu estoiu tentando usar o WWW::Mechanize, mas não estou entendendo uma coisa.
> Eu tenho um botão:
>
>  href="/dl/347357664b655256724e/554545485125135/Fernando+E+Sorocaba+Tenso.mp3"
>  rel="nofollow" title="Download Fernando E Sorocaba Tenso.mp3!">
> 
>
>
> Como eu faço para clicar nele usando o metodo click_button? Como faço para 
> setar esse botão?
> Eu tentei:
> $m->click_button(value=>/dl/347357664b655256724e/554545485125135/Fernando+E+Sorocaba+Tenso.mp3);
> Mas não da certo.
>

O seu botão não é um botão ( ou ) e sim
um link (). O Mechanize sabiamente os diferencia, e você
provavelmente está procurando o método follow_link()

https://metacpan.org/module/WWW::Mechanize#mech-follow_link-...-

Finalmente, se quiser aprender sobre XPath e Seletores CSS, recomendo
os seguintes artigos:

http://sao-paulo.pm.org/artigo/2010/utilizandoxpathparacriarwebspiders
http://sao-paulo.pm.org/artigo/2011/ExtracaodedadoscomperlxpatheregexExportadoemODF
http://sao-paulo.pm.org/artigo/2011/ScrapingfacilcomMojoliciousefeedsAtom
(veja no final: guia de referência rápida para seletores CSS)

ou ir direto na fonte:

http://www.w3.org/TR/xpath/
http://www.w3.org/TR/CSS2/selector.html
http://www.w3.org/TR/css3-selectors/

[]s

-b
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] HTML::Parse

2012-10-21 Por tôpico Aureliano Guedes

Desculpa o flood esqueci do link -> http://pastebin.com/fgYhBrsp

From: guedes_1...@hotmail.com
To: rio-pm@pm.org
Date: Sun, 21 Oct 2012 16:10:16 +
Subject: Re: [Rio-pm] HTML::Parse





Bom, eu consegui completar o script. Ainda devo fazer algumas alterações.

So um problema, se alguem puder testar vejam que apesar de baixar o arquivo ele 
vem meio que acelerado, estranho.

Ainda para listas com mais de uma musica volta essa msg:
plrint() on closed filehandle OUT at C:\User\AG\Desktop\mes.pl line 47.

From: guedes_1...@hotmail.com
To: rio-pm@pm.org
Date: Sun, 21 Oct 2012 14:48:19 +
Subject: Re: [Rio-pm] HTML::Parse





Ola.

Eu estoiu tentando usar o WWW::Mechanize, mas não estou entendendo uma coisa.
Eu tenho um botão:


Como eu faço para clicar nele usando o metodo click_button? Como faço para 
setar esse botão?
Eu tentei:
$m->click_button(value=>/dl/347357664b655256724e/554545485125135/Fernando+E+Sorocaba+Tenso.mp3);
Mas não da certo.


From: guedes_1...@hotmail.com
To: rio-pm@pm.org
Date: Sat, 20 Oct 2012 17:28:46 +
Subject: Re: [Rio-pm] HTML::Parse





Opa, Bruno, obrigado pela resposta sua e de todos os outros que estão me 
ajudando.

Irei tentar seguir o que me falaram e depois darei um feedback dos resultados.


From: bruno.b...@gmail.com
Date: Sat, 20 Oct 2012 13:44:45 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

Então provavelmente eles estão verificando pelo referer no header do request 
HTTP [1].
Não sei como funciona o LWP::Simple, mas com o LWP::UserAgent você consegue 
setar parametros pro header a ser enviado. No caso você deveria setar o referer 
para 
'http://www.buscamp3.org/download/thaeme+e+thiago+ai+que+do_3473494b6c3636334d55.html'.


Outra opção talvez seja usar o WWW::Mechanize, acho que ele faz isso 
automaticamente para você, se você utilizar as funções de "navegação" dele.
No mais, deixe-me discordar da seguinte frase que você escreveu anteriormente 
(sobre XPath e seletores CSS): "Nesse caso não é pra mim, não retenho esses 
conhecimentos."

Se você não conhece XPath e/ou seletores CSS, você deveria procurar dar uma 
olhada/estudada breve neles se isso for necessário para resolver um problema 
seu. É uma mentalidade melhor do que assumir que você não sabe, nem vai 
apreender e por isso limitar o seu leque de opções para fazer o que você quer ;)



[ ]'s
[1] https://en.wikipedia.org/wiki/HTTP_referer
2012/10/20 Aureliano Guedes 






Pois é Bruno, aqui tambem da erro, mas se eu entrar nessa pagina 
http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/ e clicar no link o 
download inicia, e aparentemente é esse o link, a não ser que esse link que eu 
esteja pegando da pagina esteja errado é o link de download seja outro.



From: bruno.b...@gmail.com
Date: Sat, 20 Oct 2012 12:39:02 -0300
To: rio-pm@pm.org


Subject: Re: [Rio-pm] HTML::Parse

Você consegue fazer o download desse arquivo manualmente, colando o endereço no 
seu próprio browser?Aqui esse link da erro...
[ ]'s

2012/10/20 Aureliano Guedes 








Eu tinha chegado nesses links do mp3, o problema é que fazer o download deles 
não funciona.

No caso:

use LWP::Simple;
my @url = get 
('www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3');




open OUT,">". 'abcde.mp3';
print OUT $_ foreach (@url);

Obtive um arquivo vazio.

Oque pode ser??
From: guedes_1...@hotmail.com




To: rio-pm@pm.org
Date: Sat, 20 Oct 2012 15:25:29 +
Subject: Re: [Rio-pm] HTML::Parse





Web::Scraper requer conhecimento de XPath e/ou seletores CSS.

Nesse caso não é pra mim, não retenho esses conmhecimentos.

From: creakt...@gmail.com




Date: Sat, 20 Oct 2012 00:13:10 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

Web::Scraper requer conhecimento de XPath e/ou seletores CSS.


No caso do link que você passou, URL do primeiro MP3 pode ser obtida via XPath:

//table[@class='linhas_lista'][1]//tr/td[2]/a/@href


De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper: 
https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl





Firefox tem (tinha?) um tal do XPather: 
https://addons.mozilla.org/en-US/firefox/addon/xpather/
Provando o que o Marcio disse:






stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e 'p 
scraper{process q(//h1/strong),title=>q(text);process 
q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/)))
 x 2)'





Printing in line 1 of -e:\ {title   "Baixar Thaeme e Thiago - Ai que do/ 
grátis",url [[0] 
http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,





[1] 
http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,





[2] 
http://www.buscam

Re: [Rio-pm] HTML::Parse

2012-10-21 Por tôpico Aureliano Guedes

Bom, eu consegui completar o script. Ainda devo fazer algumas alterações.

So um problema, se alguem puder testar vejam que apesar de baixar o arquivo ele 
vem meio que acelerado, estranho.

Ainda para listas com mais de uma musica volta essa msg:
plrint() on closed filehandle OUT at C:\User\AG\Desktop\mes.pl line 47.

From: guedes_1...@hotmail.com
To: rio-pm@pm.org
Date: Sun, 21 Oct 2012 14:48:19 +
Subject: Re: [Rio-pm] HTML::Parse





Ola.

Eu estoiu tentando usar o WWW::Mechanize, mas não estou entendendo uma coisa.
Eu tenho um botão:


Como eu faço para clicar nele usando o metodo click_button? Como faço para 
setar esse botão?
Eu tentei:
$m->click_button(value=>/dl/347357664b655256724e/554545485125135/Fernando+E+Sorocaba+Tenso.mp3);
Mas não da certo.


From: guedes_1...@hotmail.com
To: rio-pm@pm.org
Date: Sat, 20 Oct 2012 17:28:46 +
Subject: Re: [Rio-pm] HTML::Parse





Opa, Bruno, obrigado pela resposta sua e de todos os outros que estão me 
ajudando.

Irei tentar seguir o que me falaram e depois darei um feedback dos resultados.


From: bruno.b...@gmail.com
Date: Sat, 20 Oct 2012 13:44:45 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

Então provavelmente eles estão verificando pelo referer no header do request 
HTTP [1].
Não sei como funciona o LWP::Simple, mas com o LWP::UserAgent você consegue 
setar parametros pro header a ser enviado. No caso você deveria setar o referer 
para 
'http://www.buscamp3.org/download/thaeme+e+thiago+ai+que+do_3473494b6c3636334d55.html'.


Outra opção talvez seja usar o WWW::Mechanize, acho que ele faz isso 
automaticamente para você, se você utilizar as funções de "navegação" dele.
No mais, deixe-me discordar da seguinte frase que você escreveu anteriormente 
(sobre XPath e seletores CSS): "Nesse caso não é pra mim, não retenho esses 
conhecimentos."

Se você não conhece XPath e/ou seletores CSS, você deveria procurar dar uma 
olhada/estudada breve neles se isso for necessário para resolver um problema 
seu. É uma mentalidade melhor do que assumir que você não sabe, nem vai 
apreender e por isso limitar o seu leque de opções para fazer o que você quer ;)



[ ]'s
[1] https://en.wikipedia.org/wiki/HTTP_referer
2012/10/20 Aureliano Guedes 






Pois é Bruno, aqui tambem da erro, mas se eu entrar nessa pagina 
http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/ e clicar no link o 
download inicia, e aparentemente é esse o link, a não ser que esse link que eu 
esteja pegando da pagina esteja errado é o link de download seja outro.



From: bruno.b...@gmail.com
Date: Sat, 20 Oct 2012 12:39:02 -0300
To: rio-pm@pm.org


Subject: Re: [Rio-pm] HTML::Parse

Você consegue fazer o download desse arquivo manualmente, colando o endereço no 
seu próprio browser?Aqui esse link da erro...
[ ]'s

2012/10/20 Aureliano Guedes 








Eu tinha chegado nesses links do mp3, o problema é que fazer o download deles 
não funciona.

No caso:

use LWP::Simple;
my @url = get 
('www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3');




open OUT,">". 'abcde.mp3';
print OUT $_ foreach (@url);

Obtive um arquivo vazio.

Oque pode ser??
From: guedes_1...@hotmail.com




To: rio-pm@pm.org
Date: Sat, 20 Oct 2012 15:25:29 +
Subject: Re: [Rio-pm] HTML::Parse





Web::Scraper requer conhecimento de XPath e/ou seletores CSS.

Nesse caso não é pra mim, não retenho esses conmhecimentos.

From: creakt...@gmail.com




Date: Sat, 20 Oct 2012 00:13:10 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

Web::Scraper requer conhecimento de XPath e/ou seletores CSS.


No caso do link que você passou, URL do primeiro MP3 pode ser obtida via XPath:

//table[@class='linhas_lista'][1]//tr/td[2]/a/@href


De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper: 
https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl





Firefox tem (tinha?) um tal do XPather: 
https://addons.mozilla.org/en-US/firefox/addon/xpather/
Provando o que o Marcio disse:






stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e 'p 
scraper{process q(//h1/strong),title=>q(text);process 
q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/)))
 x 2)'





Printing in line 1 of -e:\ {title   "Baixar Thaeme e Thiago - Ai que do/ 
grátis",url [[0] 
http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,





[1] 
http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,





[2] 
http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,





[3] 
http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+

Re: [Rio-pm] HTML::Parse

2012-10-21 Por tôpico Aureliano Guedes

Ola.

Eu estoiu tentando usar o WWW::Mechanize, mas não estou entendendo uma coisa.
Eu tenho um botão:


Como eu faço para clicar nele usando o metodo click_button? Como faço para 
setar esse botão?
Eu tentei:
$m->click_button(value=>/dl/347357664b655256724e/554545485125135/Fernando+E+Sorocaba+Tenso.mp3);
Mas não da certo.


From: guedes_1...@hotmail.com
To: rio-pm@pm.org
Date: Sat, 20 Oct 2012 17:28:46 +
Subject: Re: [Rio-pm] HTML::Parse





Opa, Bruno, obrigado pela resposta sua e de todos os outros que estão me 
ajudando.

Irei tentar seguir o que me falaram e depois darei um feedback dos resultados.


From: bruno.b...@gmail.com
Date: Sat, 20 Oct 2012 13:44:45 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

Então provavelmente eles estão verificando pelo referer no header do request 
HTTP [1].
Não sei como funciona o LWP::Simple, mas com o LWP::UserAgent você consegue 
setar parametros pro header a ser enviado. No caso você deveria setar o referer 
para 
'http://www.buscamp3.org/download/thaeme+e+thiago+ai+que+do_3473494b6c3636334d55.html'.


Outra opção talvez seja usar o WWW::Mechanize, acho que ele faz isso 
automaticamente para você, se você utilizar as funções de "navegação" dele.
No mais, deixe-me discordar da seguinte frase que você escreveu anteriormente 
(sobre XPath e seletores CSS): "Nesse caso não é pra mim, não retenho esses 
conhecimentos."

Se você não conhece XPath e/ou seletores CSS, você deveria procurar dar uma 
olhada/estudada breve neles se isso for necessário para resolver um problema 
seu. É uma mentalidade melhor do que assumir que você não sabe, nem vai 
apreender e por isso limitar o seu leque de opções para fazer o que você quer ;)



[ ]'s
[1] https://en.wikipedia.org/wiki/HTTP_referer
2012/10/20 Aureliano Guedes 






Pois é Bruno, aqui tambem da erro, mas se eu entrar nessa pagina 
http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/ e clicar no link o 
download inicia, e aparentemente é esse o link, a não ser que esse link que eu 
esteja pegando da pagina esteja errado é o link de download seja outro.



From: bruno.b...@gmail.com
Date: Sat, 20 Oct 2012 12:39:02 -0300
To: rio-pm@pm.org


Subject: Re: [Rio-pm] HTML::Parse

Você consegue fazer o download desse arquivo manualmente, colando o endereço no 
seu próprio browser?Aqui esse link da erro...
[ ]'s

2012/10/20 Aureliano Guedes 








Eu tinha chegado nesses links do mp3, o problema é que fazer o download deles 
não funciona.

No caso:

use LWP::Simple;
my @url = get 
('www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3');




open OUT,">". 'abcde.mp3';
print OUT $_ foreach (@url);

Obtive um arquivo vazio.

Oque pode ser??
From: guedes_1...@hotmail.com




To: rio-pm@pm.org
Date: Sat, 20 Oct 2012 15:25:29 +
Subject: Re: [Rio-pm] HTML::Parse





Web::Scraper requer conhecimento de XPath e/ou seletores CSS.

Nesse caso não é pra mim, não retenho esses conmhecimentos.

From: creakt...@gmail.com




Date: Sat, 20 Oct 2012 00:13:10 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

Web::Scraper requer conhecimento de XPath e/ou seletores CSS.


No caso do link que você passou, URL do primeiro MP3 pode ser obtida via XPath:

//table[@class='linhas_lista'][1]//tr/td[2]/a/@href


De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper: 
https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl





Firefox tem (tinha?) um tal do XPather: 
https://addons.mozilla.org/en-US/firefox/addon/xpather/
Provando o que o Marcio disse:






stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e 'p 
scraper{process q(//h1/strong),title=>q(text);process 
q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/)))
 x 2)'





Printing in line 1 of -e:\ {title   "Baixar Thaeme e Thiago - Ai que do/ 
grátis",url [[0] 
http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,





[1] 
http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,





[2] 
http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,





[3] 
http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,





[4] 
http://www.buscamp3.org/dl/3473644e636d6f345245/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3





]}
Sem ser one-liner maldito:
#!/usr/bin/env perluse common::sense;use Data::Printer;use URI;use Web::Scraper;






my $url = 
URI->new('http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/');




p scraper {

process q(//h1/strong),title => 'text';process 
q(//a[@href=~

Re: [Rio-pm] HTML::Parse

2012-10-20 Por tôpico Aureliano Guedes

Opa, Bruno, obrigado pela resposta sua e de todos os outros que estão me 
ajudando.

Irei tentar seguir o que me falaram e depois darei um feedback dos resultados.


From: bruno.b...@gmail.com
Date: Sat, 20 Oct 2012 13:44:45 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

Então provavelmente eles estão verificando pelo referer no header do request 
HTTP [1].
Não sei como funciona o LWP::Simple, mas com o LWP::UserAgent você consegue 
setar parametros pro header a ser enviado. No caso você deveria setar o referer 
para 
'http://www.buscamp3.org/download/thaeme+e+thiago+ai+que+do_3473494b6c3636334d55.html'.


Outra opção talvez seja usar o WWW::Mechanize, acho que ele faz isso 
automaticamente para você, se você utilizar as funções de "navegação" dele.
No mais, deixe-me discordar da seguinte frase que você escreveu anteriormente 
(sobre XPath e seletores CSS): "Nesse caso não é pra mim, não retenho esses 
conhecimentos."

Se você não conhece XPath e/ou seletores CSS, você deveria procurar dar uma 
olhada/estudada breve neles se isso for necessário para resolver um problema 
seu. É uma mentalidade melhor do que assumir que você não sabe, nem vai 
apreender e por isso limitar o seu leque de opções para fazer o que você quer ;)



[ ]'s
[1] https://en.wikipedia.org/wiki/HTTP_referer
2012/10/20 Aureliano Guedes 






Pois é Bruno, aqui tambem da erro, mas se eu entrar nessa pagina 
http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/ e clicar no link o 
download inicia, e aparentemente é esse o link, a não ser que esse link que eu 
esteja pegando da pagina esteja errado é o link de download seja outro.



From: bruno.b...@gmail.com
Date: Sat, 20 Oct 2012 12:39:02 -0300
To: rio-pm@pm.org


Subject: Re: [Rio-pm] HTML::Parse

Você consegue fazer o download desse arquivo manualmente, colando o endereço no 
seu próprio browser?Aqui esse link da erro...
[ ]'s

2012/10/20 Aureliano Guedes 








Eu tinha chegado nesses links do mp3, o problema é que fazer o download deles 
não funciona.

No caso:

use LWP::Simple;
my @url = get 
('www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3');




open OUT,">". 'abcde.mp3';
print OUT $_ foreach (@url);

Obtive um arquivo vazio.

Oque pode ser??
From: guedes_1...@hotmail.com




To: rio-pm@pm.org
Date: Sat, 20 Oct 2012 15:25:29 +
Subject: Re: [Rio-pm] HTML::Parse





Web::Scraper requer conhecimento de XPath e/ou seletores CSS.

Nesse caso não é pra mim, não retenho esses conmhecimentos.

From: creakt...@gmail.com




Date: Sat, 20 Oct 2012 00:13:10 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

Web::Scraper requer conhecimento de XPath e/ou seletores CSS.


No caso do link que você passou, URL do primeiro MP3 pode ser obtida via XPath:

//table[@class='linhas_lista'][1]//tr/td[2]/a/@href


De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper: 
https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl





Firefox tem (tinha?) um tal do XPather: 
https://addons.mozilla.org/en-US/firefox/addon/xpather/
Provando o que o Marcio disse:






stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e 'p 
scraper{process q(//h1/strong),title=>q(text);process 
q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/)))
 x 2)'





Printing in line 1 of -e:\ {title   "Baixar Thaeme e Thiago - Ai que do/ 
grátis",url [[0] 
http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,





[1] 
http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,





[2] 
http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,





[3] 
http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,





[4] 
http://www.buscamp3.org/dl/3473644e636d6f345245/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3





]}
Sem ser one-liner maldito:
#!/usr/bin/env perluse common::sense;use Data::Printer;use URI;use Web::Scraper;






my $url = 
URI->new('http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/');




p scraper {

process q(//h1/strong),title => 'text';process 
q(//a[@href=~/\\.mp3$/]),'url[]' => '@href';}->scrape($url, $url);






ABS()




2012/10/19 Aureliano Guedes 










Parece interessante mesmo, mas dificil de entender, principalmente quando é 
alguem que como eu não sabe nada de HTML.
Realmente não entendi como faria tudo isso com o Web::Scraper.

From: marciodesouzaferre...@gmail.com






Date: Fri, 19 Oct 2012 21:14:53 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

estou cans

Re: [Rio-pm] HTML::Parse

2012-10-20 Por tôpico Bruno Buss
Então provavelmente eles estão verificando pelo referer no header do
request HTTP [1].

Não sei como funciona o LWP::Simple, mas com o LWP::UserAgent você consegue
setar parametros pro header a ser enviado. No caso você deveria setar o
referer para '
http://www.buscamp3.org/download/thaeme+e+thiago+ai+que+do_3473494b6c3636334d55.html
'.

Outra opção talvez seja usar o WWW::Mechanize, acho que ele faz isso
automaticamente para você, se você utilizar as funções de "navegação" dele.

No mais, deixe-me discordar da seguinte frase que você escreveu
anteriormente (sobre XPath e seletores CSS): "Nesse caso não é pra mim, não
retenho esses conhecimentos."
Se você não conhece XPath e/ou seletores CSS, você deveria procurar dar uma
olhada/estudada breve neles se isso for necessário para resolver um
problema seu. É uma mentalidade melhor do que assumir que você não sabe,
nem vai apreender e por isso limitar o seu leque de opções para fazer o que
você quer ;)


[ ]'s

[1] https://en.wikipedia.org/wiki/HTTP_referer

2012/10/20 Aureliano Guedes 

>  Pois é Bruno, aqui tambem da erro, mas se eu entrar nessa pagina
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/<http://www.buscamp3.org/download/thaeme+e+thiago+ai+que+do_3473494b6c3636334d55.html>e
>  clicar no link o download inicia, e aparentemente é esse o link, a não
> ser que esse link que eu esteja pegando da pagina esteja errado é o link de
> download seja outro.
>
> --
> From: bruno.b...@gmail.com
> Date: Sat, 20 Oct 2012 12:39:02 -0300
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> Você consegue fazer o download desse arquivo manualmente, colando o
> endereço no seu próprio browser?
> Aqui esse link da erro...
>
> [ ]'s
>
> 2012/10/20 Aureliano Guedes 
>
>  Eu tinha chegado nesses links do mp3, o problema é que fazer o download
> deles não funciona.
>
> No caso:
>
> use LWP::Simple;
> my @url = get ('
> www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3'<http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3%27>
> );
> open OUT,">". 'abcde.mp3';
> print OUT $_ foreach (@url);
>
> Obtive um arquivo vazio.
>
> Oque pode ser??
> --
> From: guedes_1...@hotmail.com
> To: rio-pm@pm.org
> Date: Sat, 20 Oct 2012 15:25:29 +
>
> Subject: Re: [Rio-pm] HTML::Parse
>
>  Web::Scraper requer conhecimento de XPath e/ou seletores CSS.
>
> Nesse caso não é pra mim, não retenho esses conmhecimentos.
>
> --
> From: creakt...@gmail.com
> Date: Sat, 20 Oct 2012 00:13:10 -0300
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> Web::Scraper requer conhecimento de XPath e/ou seletores CSS.
> No caso do link que você passou, URL do primeiro MP3 pode ser obtida via
> XPath:
>
> //table[@class='linhas_lista'][1]//tr/td[2]/a/@href
>
> De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper:
> https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl
> Firefox tem (tinha?) um tal do XPather:
> https://addons.mozilla.org/en-US/firefox/addon/xpather/
>
> Provando o que o Marcio disse:
>
> stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e
> 'p scraper{process q(//h1/strong),title=>q(text);process
> q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/)<http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/%29>))
> x 2)'
> Printing in line 1 of -e:
> \ {
> title   "Baixar Thaeme e Thiago - Ai que do/ grátis",
> url [
> [0]
> http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [1]
> http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [2]
> http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [3]
> http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [4]
> http://www.buscamp3.org/dl/3473644e636d6f345245/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ]
> }
>
> Sem ser one-liner maldito:
>
> #!/usr/bin/env perl
> use common::sense;
> use Data::Printer;
> use URI;
> use Web::Scraper;
>
> my $url = URI->new('
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/'<http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/%27>
> );
>
> p scrape

Re: [Rio-pm] HTML::Parse

2012-10-20 Por tôpico Aureliano Guedes

Pois é Bruno, aqui tambem da erro, mas se eu entrar nessa pagina 
http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/ e clicar no link o 
download inicia, e aparentemente é esse o link, a não ser que esse link que eu 
esteja pegando da pagina esteja errado é o link de download seja outro.

From: bruno.b...@gmail.com
Date: Sat, 20 Oct 2012 12:39:02 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

Você consegue fazer o download desse arquivo manualmente, colando o endereço no 
seu próprio browser?Aqui esse link da erro...
[ ]'s

2012/10/20 Aureliano Guedes 






Eu tinha chegado nesses links do mp3, o problema é que fazer o download deles 
não funciona.

No caso:

use LWP::Simple;
my @url = get 
('www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3');


open OUT,">". 'abcde.mp3';
print OUT $_ foreach (@url);

Obtive um arquivo vazio.

Oque pode ser??
From: guedes_1...@hotmail.com


To: rio-pm@pm.org
Date: Sat, 20 Oct 2012 15:25:29 +
Subject: Re: [Rio-pm] HTML::Parse





Web::Scraper requer conhecimento de XPath e/ou seletores CSS.

Nesse caso não é pra mim, não retenho esses conmhecimentos.

From: creakt...@gmail.com


Date: Sat, 20 Oct 2012 00:13:10 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

Web::Scraper requer conhecimento de XPath e/ou seletores CSS.
No caso do link que você passou, URL do primeiro MP3 pode ser obtida via XPath:

//table[@class='linhas_lista'][1]//tr/td[2]/a/@href


De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper: 
https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl



Firefox tem (tinha?) um tal do XPather: 
https://addons.mozilla.org/en-US/firefox/addon/xpather/
Provando o que o Marcio disse:




stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e 'p 
scraper{process q(//h1/strong),title=>q(text);process 
q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/)))
 x 2)'



Printing in line 1 of -e:\ {title   "Baixar Thaeme e Thiago - Ai que do/ 
grátis",url [[0] 
http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,



[1] 
http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,



[2] 
http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,



[3] 
http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,



[4] 
http://www.buscamp3.org/dl/3473644e636d6f345245/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3



]}
Sem ser one-liner maldito:
#!/usr/bin/env perluse common::sense;use Data::Printer;use URI;use Web::Scraper;




my $url = 
URI->new('http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/');


p scraper {

process q(//h1/strong),title => 'text';process 
q(//a[@href=~/\\.mp3$/]),'url[]' => '@href';}->scrape($url, $url);




ABS()




2012/10/19 Aureliano Guedes 








Parece interessante mesmo, mas dificil de entender, principalmente quando é 
alguem que como eu não sabe nada de HTML.
Realmente não entendi como faria tudo isso com o Web::Scraper.

From: marciodesouzaferre...@gmail.com




Date: Fri, 19 Oct 2012 21:14:53 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

estou cansado pra implementar, mas o Web::Scraper é tipo um néctar dos deuses, 
vc faz um crawler em 5' com ele, bem estilo Perl(que sai da frente e deixa você 
focar na solução) isso se o HTML não for um monstrengo =)






[]s,

Marcio Ferreira@_marcioferreira(11) 8567-1482   skype: 
marcio.ferreir4marciodesouzaferreira.blogspot.com










2012/10/19 Rafael Prenzier 






WWW::Mechanize ++

2012/10/19 Ricardo Filipo 



Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.

Veja um exemplo de uso:
https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm








    


 De: Aureliano Guedes 
 Para: Rio PM  







 Enviadas: Sexta-feira, 19 de Outubro de 2012 13:22
 Assunto: [Rio-pm] HTML::Parse
   





Ola monges,
tudo bem?

Qual um bom modulo para buscar string em um HTML?
Vocês aconselham o HTML::Parse?

Eu não entendo muito de html, mas estou tentando pegar um link dentro de uma 
pagina.

Um exemplo é esse: http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/








Os Links estão nesse formato: 








O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria 
pegar apenas o primeiro.
Poderia usar regexp mas anteriormente me disseram que não é muito
 elegante parsear HTML na unha.

Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.

Att,
Aureliano Guedes.
   

Re: [Rio-pm] HTML::Parse

2012-10-20 Por tôpico Bruno Buss
Você consegue fazer o download desse arquivo manualmente, colando o
endereço no seu próprio browser?
Aqui esse link da erro...

[ ]'s

2012/10/20 Aureliano Guedes 

>  Eu tinha chegado nesses links do mp3, o problema é que fazer o download
> deles não funciona.
>
> No caso:
>
> use LWP::Simple;
> my @url = get ('
> www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3'
> );
> open OUT,">". 'abcde.mp3';
> print OUT $_ foreach (@url);
>
> Obtive um arquivo vazio.
>
> Oque pode ser??
> --
> From: guedes_1...@hotmail.com
> To: rio-pm@pm.org
> Date: Sat, 20 Oct 2012 15:25:29 +
>
> Subject: Re: [Rio-pm] HTML::Parse
>
>  Web::Scraper requer conhecimento de XPath e/ou seletores CSS.
>
> Nesse caso não é pra mim, não retenho esses conmhecimentos.
>
> ----------
> From: creakt...@gmail.com
> Date: Sat, 20 Oct 2012 00:13:10 -0300
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> Web::Scraper requer conhecimento de XPath e/ou seletores CSS.
> No caso do link que você passou, URL do primeiro MP3 pode ser obtida via
> XPath:
>
> //table[@class='linhas_lista'][1]//tr/td[2]/a/@href
>
> De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper:
> https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl
> Firefox tem (tinha?) um tal do XPather:
> https://addons.mozilla.org/en-US/firefox/addon/xpather/
>
> Provando o que o Marcio disse:
>
> stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e
> 'p scraper{process q(//h1/strong),title=>q(text);process
> q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/)<http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/%29>))
> x 2)'
> Printing in line 1 of -e:
> \ {
> title   "Baixar Thaeme e Thiago - Ai que do/ grátis",
> url [
> [0]
> http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [1]
> http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [2]
> http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [3]
> http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [4]
> http://www.buscamp3.org/dl/3473644e636d6f345245/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ]
> }
>
> Sem ser one-liner maldito:
>
> #!/usr/bin/env perl
> use common::sense;
> use Data::Printer;
> use URI;
> use Web::Scraper;
>
> my $url = URI->new('
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/'<http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/%27>
> );
>
> p scraper {
> process q(//h1/strong),
> title => 'text';
> process q(//a[@href=~/\\.mp3$/]),
> 'url[]' => '@href';
> }->scrape($url, $url);
>
> ABS()
>
>
>
> 2012/10/19 Aureliano Guedes 
>
>  Parece interessante mesmo, mas dificil de entender, principalmente quando
> é alguem que como eu não sabe nada de HTML.
> Realmente não entendi como faria tudo isso com o Web::Scraper.
>
> --
> From: marciodesouzaferre...@gmail.com
> Date: Fri, 19 Oct 2012 21:14:53 -0300
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> estou cansado pra implementar, mas o Web::Scraper é tipo um néctar dos
> deuses, vc faz um crawler em 5' com ele, bem estilo Perl(que sai da frente
> e deixa você focar na solução) isso se o HTML não for um monstrengo =)
>
> []s,
>
> Marcio Ferreira
> @_marcioferreira
> (11) 8567-1482   skype: marcio.ferreir4
> marciodesouzaferreira.blogspot.com
>
>
>
> 2012/10/19 Rafael Prenzier 
>
> WWW::Mechanize ++
>
>
> 2012/10/19 Ricardo Filipo 
>
> Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.
>
> Veja um exemplo de uso:
>
> https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm
>
>--
> *De:* Aureliano Guedes 
> *Para:* Rio PM 
> *Enviadas:* Sexta-feira, 19 de Outubro de 2012 13:22
> *Assunto:* [Rio-pm] HTML::Parse
>
>  Ola monges,
> tudo bem?
>
> Qual um bom modulo para buscar string em um HTML?
> Vocês aconselham o HTML::Parse?
>
> Eu não entendo muito de html, mas estou tentando pegar um link dentro de
> uma pagina.
>
> Um 

Re: [Rio-pm] HTML::Parse

2012-10-20 Por tôpico Marcio Ferreira
nao entendi pq vc escreveu esse código, tente algo do tipo

getstore( $url, "$path/$file" );



[]s,

Marcio Ferreira
@_marcioferreira
(11) 8567-1482   skype: marcio.ferreir4
marciodesouzaferreira.blogspot.com



2012/10/20 Aureliano Guedes 

>  Eu tinha chegado nesses links do mp3, o problema é que fazer o download
> deles não funciona.
>
> No caso:
>
> use LWP::Simple;
> my @url = get ('
> www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3'
> );
> open OUT,">". 'abcde.mp3';
> print OUT $_ foreach (@url);
>
> Obtive um arquivo vazio.
>
> Oque pode ser??
> --
> From: guedes_1...@hotmail.com
> To: rio-pm@pm.org
> Date: Sat, 20 Oct 2012 15:25:29 +
>
> Subject: Re: [Rio-pm] HTML::Parse
>
>  Web::Scraper requer conhecimento de XPath e/ou seletores CSS.
>
> Nesse caso não é pra mim, não retenho esses conmhecimentos.
>
> --------------
> From: creakt...@gmail.com
> Date: Sat, 20 Oct 2012 00:13:10 -0300
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> Web::Scraper requer conhecimento de XPath e/ou seletores CSS.
> No caso do link que você passou, URL do primeiro MP3 pode ser obtida via
> XPath:
>
> //table[@class='linhas_lista'][1]//tr/td[2]/a/@href
>
> De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper:
> https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl
> Firefox tem (tinha?) um tal do XPather:
> https://addons.mozilla.org/en-US/firefox/addon/xpather/
>
> Provando o que o Marcio disse:
>
> stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e
> 'p scraper{process q(//h1/strong),title=>q(text);process
> q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/)<http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/%29>))
> x 2)'
> Printing in line 1 of -e:
> \ {
> title   "Baixar Thaeme e Thiago - Ai que do/ grátis",
> url [
> [0]
> http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [1]
> http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [2]
> http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [3]
> http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [4]
> http://www.buscamp3.org/dl/3473644e636d6f345245/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ]
> }
>
> Sem ser one-liner maldito:
>
> #!/usr/bin/env perl
> use common::sense;
> use Data::Printer;
> use URI;
> use Web::Scraper;
>
> my $url = URI->new('
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/'<http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/%27>
> );
>
> p scraper {
> process q(//h1/strong),
> title => 'text';
> process q(//a[@href=~/\\.mp3$/]),
> 'url[]' => '@href';
> }->scrape($url, $url);
>
> ABS()
>
>
>
> 2012/10/19 Aureliano Guedes 
>
>  Parece interessante mesmo, mas dificil de entender, principalmente quando
> é alguem que como eu não sabe nada de HTML.
> Realmente não entendi como faria tudo isso com o Web::Scraper.
>
> --
> From: marciodesouzaferre...@gmail.com
> Date: Fri, 19 Oct 2012 21:14:53 -0300
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> estou cansado pra implementar, mas o Web::Scraper é tipo um néctar dos
> deuses, vc faz um crawler em 5' com ele, bem estilo Perl(que sai da frente
> e deixa você focar na solução) isso se o HTML não for um monstrengo =)
>
> []s,
>
> Marcio Ferreira
> @_marcioferreira
> (11) 8567-1482   skype: marcio.ferreir4
> marciodesouzaferreira.blogspot.com
>
>
>
> 2012/10/19 Rafael Prenzier 
>
> WWW::Mechanize ++
>
>
> 2012/10/19 Ricardo Filipo 
>
> Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.
>
> Veja um exemplo de uso:
>
> https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm
>
>--
> *De:* Aureliano Guedes 
> *Para:* Rio PM 
> *Enviadas:* Sexta-feira, 19 de Outubro de 2012 13:22
> *Assunto:* [Rio-pm] HTML::Parse
>
>  Ola monges,
> tudo bem?
>
> Qual um bom modulo para buscar string em um HTML?
> Vocês aconselham o HTML::Parse?
>
> Eu não entendo muito de 

Re: [Rio-pm] HTML::Parse

2012-10-20 Por tôpico Aureliano Guedes

Eu tinha chegado nesses links do mp3, o problema é que fazer o download deles 
não funciona.

No caso:

use LWP::Simple;
my @url = get 
('www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3');
open OUT,">". 'abcde.mp3';
print OUT $_ foreach (@url);

Obtive um arquivo vazio.

Oque pode ser??
From: guedes_1...@hotmail.com
To: rio-pm@pm.org
Date: Sat, 20 Oct 2012 15:25:29 +
Subject: Re: [Rio-pm] HTML::Parse





Web::Scraper requer conhecimento de XPath e/ou seletores CSS.

Nesse caso não é pra mim, não retenho esses conmhecimentos.

From: creakt...@gmail.com
Date: Sat, 20 Oct 2012 00:13:10 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

Web::Scraper requer conhecimento de XPath e/ou seletores CSS.No caso do link 
que você passou, URL do primeiro MP3 pode ser obtida via XPath:
//table[@class='linhas_lista'][1]//tr/td[2]/a/@href


De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper: 
https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl

Firefox tem (tinha?) um tal do XPather: 
https://addons.mozilla.org/en-US/firefox/addon/xpather/
Provando o que o Marcio disse:


stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e 'p 
scraper{process q(//h1/strong),title=>q(text);process 
q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/)))
 x 2)'

Printing in line 1 of -e:\ {title   "Baixar Thaeme e Thiago - Ai que do/ 
grátis",url [[0] 
http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,

[1] 
http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,

[2] 
http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,

[3] 
http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,

[4] 
http://www.buscamp3.org/dl/3473644e636d6f345245/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3

]}
Sem ser one-liner maldito:
#!/usr/bin/env perluse common::sense;use Data::Printer;use URI;use Web::Scraper;


my $url = 
URI->new('http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/');
p scraper {

process q(//h1/strong),title => 'text';process 
q(//a[@href=~/\\.mp3$/]),'url[]' => '@href';}->scrape($url, $url);


ABS()




2012/10/19 Aureliano Guedes 






Parece interessante mesmo, mas dificil de entender, principalmente quando é 
alguem que como eu não sabe nada de HTML.
Realmente não entendi como faria tudo isso com o Web::Scraper.

From: marciodesouzaferre...@gmail.com


Date: Fri, 19 Oct 2012 21:14:53 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

estou cansado pra implementar, mas o Web::Scraper é tipo um néctar dos deuses, 
vc faz um crawler em 5' com ele, bem estilo Perl(que sai da frente e deixa você 
focar na solução) isso se o HTML não for um monstrengo =)




[]s,

Marcio Ferreira@_marcioferreira(11) 8567-1482   skype: 
marcio.ferreir4marciodesouzaferreira.blogspot.com








2012/10/19 Rafael Prenzier 




WWW::Mechanize ++

2012/10/19 Ricardo Filipo 



Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.

Veja um exemplo de uso:
https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm









 De: Aureliano Guedes 
 Para: Rio PM  





 Enviadas: Sexta-feira, 19 de Outubro de 2012 13:22
 Assunto: [Rio-pm] HTML::Parse
   





Ola monges,
tudo bem?

Qual um bom modulo para buscar string em um HTML?
Vocês aconselham o HTML::Parse?

Eu não entendo muito de html, mas estou tentando pegar um link dentro de uma 
pagina.

Um exemplo é esse: http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/






Os Links estão nesse formato: 






O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria 
pegar apenas o primeiro.
Poderia usar regexp mas anteriormente me disseram que não é muito
 elegante parsear HTML na unha.

Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.

Att,
Aureliano Guedes.
  

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm






 
___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 




Rafael Prenzier dos Santos | Engenheiro e Perl Monger 


 (11) 5209-0847
www.prenzier.com














___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-20 Por tôpico Aureliano Guedes

Web::Scraper requer conhecimento de XPath e/ou seletores CSS.

Nesse caso não é pra mim, não retenho esses conmhecimentos.

From: creakt...@gmail.com
Date: Sat, 20 Oct 2012 00:13:10 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

Web::Scraper requer conhecimento de XPath e/ou seletores CSS.No caso do link 
que você passou, URL do primeiro MP3 pode ser obtida via XPath:
//table[@class='linhas_lista'][1]//tr/td[2]/a/@href


De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper: 
https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl

Firefox tem (tinha?) um tal do XPather: 
https://addons.mozilla.org/en-US/firefox/addon/xpather/
Provando o que o Marcio disse:


stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e 'p 
scraper{process q(//h1/strong),title=>q(text);process 
q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/)))
 x 2)'

Printing in line 1 of -e:\ {title   "Baixar Thaeme e Thiago - Ai que do/ 
grátis",url [[0] 
http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,

[1] 
http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,

[2] 
http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,

[3] 
http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,

[4] 
http://www.buscamp3.org/dl/3473644e636d6f345245/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3

]}
Sem ser one-liner maldito:
#!/usr/bin/env perluse common::sense;use Data::Printer;use URI;use Web::Scraper;


my $url = 
URI->new('http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/');
p scraper {

process q(//h1/strong),title => 'text';process 
q(//a[@href=~/\\.mp3$/]),'url[]' => '@href';}->scrape($url, $url);


ABS()




2012/10/19 Aureliano Guedes 






Parece interessante mesmo, mas dificil de entender, principalmente quando é 
alguem que como eu não sabe nada de HTML.
Realmente não entendi como faria tudo isso com o Web::Scraper.

From: marciodesouzaferre...@gmail.com


Date: Fri, 19 Oct 2012 21:14:53 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

estou cansado pra implementar, mas o Web::Scraper é tipo um néctar dos deuses, 
vc faz um crawler em 5' com ele, bem estilo Perl(que sai da frente e deixa você 
focar na solução) isso se o HTML não for um monstrengo =)




[]s,

Marcio Ferreira@_marcioferreira(11) 8567-1482   skype: 
marcio.ferreir4marciodesouzaferreira.blogspot.com








2012/10/19 Rafael Prenzier 




WWW::Mechanize ++

2012/10/19 Ricardo Filipo 



Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.

Veja um exemplo de uso:
https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm









 De: Aureliano Guedes 
 Para: Rio PM  





 Enviadas: Sexta-feira, 19 de Outubro de 2012 13:22
 Assunto: [Rio-pm] HTML::Parse
   





Ola monges,
tudo bem?

Qual um bom modulo para buscar string em um HTML?
Vocês aconselham o HTML::Parse?

Eu não entendo muito de html, mas estou tentando pegar um link dentro de uma 
pagina.

Um exemplo é esse: http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/






Os Links estão nesse formato: 






O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria 
pegar apenas o primeiro.
Poderia usar regexp mas anteriormente me disseram que não é muito
 elegante parsear HTML na unha.

Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.

Att,
Aureliano Guedes.
  

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm






 
___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 




Rafael Prenzier dos Santos | Engenheiro e Perl Monger 


 (11) 5209-0847
www.prenzier.com














___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico Stanislaw Pusep
É a inspiração trazida pelo YAPC::Brasil, transbordando ;)

ABS()



2012/10/20 marcio souza ferreira 

> admiro alguns da lista, meia-noite de uma sexta-feira e a nerdaiada
> postando código e outros lendo K
>
> forever alone level master!
>
> Em 20 de outubro de 2012 00:13, Stanislaw Pusep escreveu:
>
> Web::Scraper requer conhecimento de XPath e/ou seletores CSS.
>> No caso do link que você passou, URL do primeiro MP3 pode ser obtida via
>> XPath:
>>
>> //table[@class='linhas_lista'][1]//tr/td[2]/a/@href
>>
>> De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper:
>> https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl
>> Firefox tem (tinha?) um tal do XPather:
>> https://addons.mozilla.org/en-US/firefox/addon/xpather/
>>
>> Provando o que o Marcio disse:
>>
>> stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e
>> 'p scraper{process q(//h1/strong),title=>q(text);process
>> q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(
>> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/))) x 2)'
>> Printing in line 1 of -e:
>> \ {
>> title   "Baixar Thaeme e Thiago - Ai que do/ grátis",
>> url [
>> [0]
>> http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>> ,
>> [1]
>> http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>> ,
>> [2]
>> http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>> ,
>> [3]
>> http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>> ,
>> [4]
>> http://www.buscamp3.org/dl/3473644e636d6f345245/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>> ]
>> }
>>
>> Sem ser one-liner maldito:
>>
>> #!/usr/bin/env perl
>> use common::sense;
>> use Data::Printer;
>> use URI;
>> use Web::Scraper;
>>
>> my $url = URI->new('
>> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/');
>>
>> p scraper {
>> process q(//h1/strong),
>> title => 'text';
>> process q(//a[@href=~/\\.mp3$/]),
>> 'url[]' => '@href';
>> }->scrape($url, $url);
>>
>> ABS()
>>
>>
>>
>>
>> 2012/10/19 Aureliano Guedes 
>>
>>>  Parece interessante mesmo, mas dificil de entender, principalmente
>>> quando é alguem que como eu não sabe nada de HTML.
>>> Realmente não entendi como faria tudo isso com o Web::Scraper.
>>>
>>> --
>>> From: marciodesouzaferre...@gmail.com
>>> Date: Fri, 19 Oct 2012 21:14:53 -0300
>>>
>>> To: rio-pm@pm.org
>>> Subject: Re: [Rio-pm] HTML::Parse
>>>
>>> estou cansado pra implementar, mas o Web::Scraper é tipo um néctar dos
>>> deuses, vc faz um crawler em 5' com ele, bem estilo Perl(que sai da frente
>>> e deixa você focar na solução) isso se o HTML não for um monstrengo =)
>>>
>>> []s,
>>>
>>> Marcio Ferreira
>>> @_marcioferreira
>>> (11) 8567-1482   skype: marcio.ferreir4
>>> marciodesouzaferreira.blogspot.com
>>>
>>>
>>>
>>> 2012/10/19 Rafael Prenzier 
>>>
>>> WWW::Mechanize ++
>>>
>>>
>>> 2012/10/19 Ricardo Filipo 
>>>
>>> Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.
>>>
>>> Veja um exemplo de uso:
>>>
>>> https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm
>>>
>>>--
>>> *De:* Aureliano Guedes 
>>> *Para:* Rio PM 
>>> *Enviadas:* Sexta-feira, 19 de Outubro de 2012 13:22
>>> *Assunto:* [Rio-pm] HTML::Parse
>>>
>>>  Ola monges,
>>> tudo bem?
>>>
>>> Qual um bom modulo para buscar string em um HTML?
>>> Vocês aconselham o HTML::Parse?
>>>
>>> Eu não entendo muito de html, mas estou tentando pegar um link dentro de
>>> uma pagina.
>>>
>>> Um exemplo é esse:
>>> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/
>>>
>>> Os Links estão nesse formato:
>>>
>>> >> title="Thaeme E Thiago - Ai Que Do">
>>>
>>>
>&

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico marcio souza ferreira
admiro alguns da lista, meia-noite de uma sexta-feira e a nerdaiada
postando código e outros lendo K

forever alone level master!

Em 20 de outubro de 2012 00:13, Stanislaw Pusep escreveu:

> Web::Scraper requer conhecimento de XPath e/ou seletores CSS.
> No caso do link que você passou, URL do primeiro MP3 pode ser obtida via
> XPath:
>
> //table[@class='linhas_lista'][1]//tr/td[2]/a/@href
>
> De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper:
> https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl
> Firefox tem (tinha?) um tal do XPather:
> https://addons.mozilla.org/en-US/firefox/addon/xpather/
>
> Provando o que o Marcio disse:
>
> stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e
> 'p scraper{process q(//h1/strong),title=>q(text);process
> q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/))) x 2)'
> Printing in line 1 of -e:
> \ {
> title   "Baixar Thaeme e Thiago - Ai que do/ grátis",
> url [
> [0]
> http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [1]
> http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [2]
> http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [3]
> http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ,
> [4]
> http://www.buscamp3.org/dl/3473644e636d6f345245/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
> ]
> }
>
> Sem ser one-liner maldito:
>
> #!/usr/bin/env perl
> use common::sense;
> use Data::Printer;
> use URI;
> use Web::Scraper;
>
> my $url = URI->new('
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/');
>
> p scraper {
> process q(//h1/strong),
> title => 'text';
> process q(//a[@href=~/\\.mp3$/]),
> 'url[]' => '@href';
> }->scrape($url, $url);
>
> ABS()
>
>
>
>
> 2012/10/19 Aureliano Guedes 
>
>>  Parece interessante mesmo, mas dificil de entender, principalmente
>> quando é alguem que como eu não sabe nada de HTML.
>> Realmente não entendi como faria tudo isso com o Web::Scraper.
>>
>> --
>> From: marciodesouzaferre...@gmail.com
>> Date: Fri, 19 Oct 2012 21:14:53 -0300
>>
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] HTML::Parse
>>
>> estou cansado pra implementar, mas o Web::Scraper é tipo um néctar dos
>> deuses, vc faz um crawler em 5' com ele, bem estilo Perl(que sai da frente
>> e deixa você focar na solução) isso se o HTML não for um monstrengo =)
>>
>> []s,
>>
>> Marcio Ferreira
>> @_marcioferreira
>> (11) 8567-1482   skype: marcio.ferreir4
>> marciodesouzaferreira.blogspot.com
>>
>>
>>
>> 2012/10/19 Rafael Prenzier 
>>
>> WWW::Mechanize ++
>>
>>
>> 2012/10/19 Ricardo Filipo 
>>
>> Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.
>>
>> Veja um exemplo de uso:
>>
>> https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm
>>
>>--
>> *De:* Aureliano Guedes 
>> *Para:* Rio PM 
>> *Enviadas:* Sexta-feira, 19 de Outubro de 2012 13:22
>> *Assunto:* [Rio-pm] HTML::Parse
>>
>>  Ola monges,
>> tudo bem?
>>
>> Qual um bom modulo para buscar string em um HTML?
>> Vocês aconselham o HTML::Parse?
>>
>> Eu não entendo muito de html, mas estou tentando pegar um link dentro de
>> uma pagina.
>>
>> Um exemplo é esse:
>> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/
>>
>> Os Links estão nesse formato:
>>
>> > title="Thaeme E Thiago - Ai Que Do">
>>
>>
>> O Problema é que no caso dessa pagina tem 4 links desse modelo e eu
>> queria pegar apenas o primeiro.
>> Poderia usar regexp mas anteriormente me disseram que não é muito
>> elegante parsear HTML na unha.
>>
>> Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.
>>
>> Att,
>> Aureliano Guedes.
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>> ___
>> Rio

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico Stanislaw Pusep
Web::Scraper requer conhecimento de XPath e/ou seletores CSS.
No caso do link que você passou, URL do primeiro MP3 pode ser obtida via
XPath:

//table[@class='linhas_lista'][1]//tr/td[2]/a/@href

De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper:
https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl
Firefox tem (tinha?) um tal do XPather:
https://addons.mozilla.org/en-US/firefox/addon/xpather/

Provando o que o Marcio disse:

stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e 'p
scraper{process q(//h1/strong),title=>q(text);process
q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(
http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/))) x 2)'
Printing in line 1 of -e:
\ {
title   "Baixar Thaeme e Thiago - Ai que do/ grátis",
url [
[0]
http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
,
[1]
http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
,
[2]
http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
,
[3]
http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
,
[4]
http://www.buscamp3.org/dl/3473644e636d6f345245/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
]
}

Sem ser one-liner maldito:

#!/usr/bin/env perl
use common::sense;
use Data::Printer;
use URI;
use Web::Scraper;

my $url = URI->new('
http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/');

p scraper {
process q(//h1/strong),
title => 'text';
process q(//a[@href=~/\\.mp3$/]),
'url[]' => '@href';
}->scrape($url, $url);

ABS()



2012/10/19 Aureliano Guedes 

>  Parece interessante mesmo, mas dificil de entender, principalmente quando
> é alguem que como eu não sabe nada de HTML.
> Realmente não entendi como faria tudo isso com o Web::Scraper.
>
> --
> From: marciodesouzaferre...@gmail.com
> Date: Fri, 19 Oct 2012 21:14:53 -0300
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> estou cansado pra implementar, mas o Web::Scraper é tipo um néctar dos
> deuses, vc faz um crawler em 5' com ele, bem estilo Perl(que sai da frente
> e deixa você focar na solução) isso se o HTML não for um monstrengo =)
>
> []s,
>
> Marcio Ferreira
> @_marcioferreira
> (11) 8567-1482   skype: marcio.ferreir4
> marciodesouzaferreira.blogspot.com
>
>
>
> 2012/10/19 Rafael Prenzier 
>
> WWW::Mechanize ++
>
>
> 2012/10/19 Ricardo Filipo 
>
> Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.
>
> Veja um exemplo de uso:
>
> https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm
>
>--
> *De:* Aureliano Guedes 
> *Para:* Rio PM 
> *Enviadas:* Sexta-feira, 19 de Outubro de 2012 13:22
> *Assunto:* [Rio-pm] HTML::Parse
>
>  Ola monges,
> tudo bem?
>
> Qual um bom modulo para buscar string em um HTML?
> Vocês aconselham o HTML::Parse?
>
> Eu não entendo muito de html, mas estou tentando pegar um link dentro de
> uma pagina.
>
> Um exemplo é esse:
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/
>
> Os Links estão nesse formato:
>
>  title="Thaeme E Thiago - Ai Que Do">
>
>
> O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria
> pegar apenas o primeiro.
> Poderia usar regexp mas anteriormente me disseram que não é muito elegante
> parsear HTML na unha.
>
> Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.
>
> Att,
> Aureliano Guedes.
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> Rafael Prenzier dos Santos | Engenheiro e Perl Monger
>
>  (11) 5209-0847
>
> www.prenzier.com
>
> <http://gplus.to/prenzier>  <http://www.facebook.com/rafaelprenzier> 
> <http://twitter.com/prenzier/>
>   <http://www.orkut.com.br/Main#Profile?uid=13496291347057199080> 
> <http://cid-eacb613d80ce8dba.profile.live.com/>
>   <http://www.delicious.com/rafaelprenzier/> 
> <http://www.google.com/profiles/rafaelprenzier>
>   <http://br.linkedin.com/pub/rafael-prenzier-dos-santos/29/6a2/478> 
> <http://www.youtube.com/prenzier>
>   <http://www.diigo.com/user/prenzier> 
> <http://www.shelfari.

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico Aureliano Guedes

Parece interessante mesmo, mas dificil de entender, principalmente quando é 
alguem que como eu não sabe nada de HTML.
Realmente não entendi como faria tudo isso com o Web::Scraper.

From: marciodesouzaferre...@gmail.com
Date: Fri, 19 Oct 2012 21:14:53 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

estou cansado pra implementar, mas o Web::Scraper é tipo um néctar dos deuses, 
vc faz um crawler em 5' com ele, bem estilo Perl(que sai da frente e deixa você 
focar na solução) isso se o HTML não for um monstrengo =)


[]s,

Marcio Ferreira@_marcioferreira(11) 8567-1482   skype: 
marcio.ferreir4marciodesouzaferreira.blogspot.com






2012/10/19 Rafael Prenzier 


WWW::Mechanize ++

2012/10/19 Ricardo Filipo 



Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.

Veja um exemplo de uso:
https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm







 De: Aureliano Guedes 
 Para: Rio PM  



 Enviadas: Sexta-feira, 19 de Outubro de 2012 13:22
 Assunto: [Rio-pm] HTML::Parse
   





Ola monges,
tudo bem?

Qual um bom modulo para buscar string em um HTML?
Vocês aconselham o HTML::Parse?

Eu não entendo muito de html, mas estou tentando pegar um link dentro de uma 
pagina.

Um exemplo é esse: http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/




Os Links estão nesse formato: 




O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria 
pegar apenas o primeiro.
Poderia usar regexp mas anteriormente me disseram que não é muito
 elegante parsear HTML na unha.

Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.

Att,
Aureliano Guedes.
  

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm




 
___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 


Rafael Prenzier dos Santos | Engenheiro e Perl Monger 


 (11) 5209-0847
www.prenzier.com










___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico Marcio Ferreira
estou cansado pra implementar, mas o Web::Scraper é tipo um néctar dos
deuses, vc faz um crawler em 5' com ele, bem estilo Perl(que sai da frente
e deixa você focar na solução) isso se o HTML não for um monstrengo =)

[]s,

Marcio Ferreira
@_marcioferreira
(11) 8567-1482   skype: marcio.ferreir4
marciodesouzaferreira.blogspot.com



2012/10/19 Rafael Prenzier 

> WWW::Mechanize ++
>
>
> 2012/10/19 Ricardo Filipo 
>
>> Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.
>>
>> Veja um exemplo de uso:
>>
>> https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm
>>
>>--
>> *De:* Aureliano Guedes 
>> *Para:* Rio PM 
>> *Enviadas:* Sexta-feira, 19 de Outubro de 2012 13:22
>> *Assunto:* [Rio-pm] HTML::Parse
>>
>>  Ola monges,
>> tudo bem?
>>
>> Qual um bom modulo para buscar string em um HTML?
>> Vocês aconselham o HTML::Parse?
>>
>> Eu não entendo muito de html, mas estou tentando pegar um link dentro de
>> uma pagina.
>>
>> Um exemplo é esse:
>> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/
>>
>> Os Links estão nesse formato:
>>
>> > title="Thaeme E Thiago - Ai Que Do">
>>
>>
>> O Problema é que no caso dessa pagina tem 4 links desse modelo e eu
>> queria pegar apenas o primeiro.
>> Poderia usar regexp mas anteriormente me disseram que não é muito
>> elegante parsear HTML na unha.
>>
>> Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.
>>
>> Att,
>> Aureliano Guedes.
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> Rafael Prenzier dos Santos | Engenheiro e Perl Monger
>
>  (11) 5209-0847
>
> www.prenzier.com
>
> <http://gplus.to/prenzier>  <http://www.facebook.com/rafaelprenzier> 
> <http://twitter.com/prenzier/>
>   <http://www.orkut.com.br/Main#Profile?uid=13496291347057199080> 
> <http://cid-eacb613d80ce8dba.profile.live.com/>
>   <http://www.delicious.com/rafaelprenzier/> 
> <http://www.google.com/profiles/rafaelprenzier>
>   <http://br.linkedin.com/pub/rafael-prenzier-dos-santos/29/6a2/478> 
> <http://www.youtube.com/prenzier>
>   <http://www.diigo.com/user/prenzier> 
> <http://www.shelfari.com/rprenzier/shelf>
>   <http://flavors.me/prenzier>
>  <http://www.diigo.com/user/prenzier>
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico Rafael Prenzier
WWW::Mechanize ++

2012/10/19 Ricardo Filipo 

> Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.
>
> Veja um exemplo de uso:
>
> https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm
>
>--
> *De:* Aureliano Guedes 
> *Para:* Rio PM 
> *Enviadas:* Sexta-feira, 19 de Outubro de 2012 13:22
> *Assunto:* [Rio-pm] HTML::Parse
>
>  Ola monges,
> tudo bem?
>
> Qual um bom modulo para buscar string em um HTML?
> Vocês aconselham o HTML::Parse?
>
> Eu não entendo muito de html, mas estou tentando pegar um link dentro de
> uma pagina.
>
> Um exemplo é esse:
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/
>
> Os Links estão nesse formato:
>
>  title="Thaeme E Thiago - Ai Que Do">
>
>
> O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria
> pegar apenas o primeiro.
> Poderia usar regexp mas anteriormente me disseram que não é muito elegante
> parsear HTML na unha.
>
> Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.
>
> Att,
> Aureliano Guedes.
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Rafael Prenzier dos Santos | Engenheiro e Perl Monger

 (11) 5209-0847

www.prenzier.com

<http://gplus.to/prenzier>  <http://www.facebook.com/rafaelprenzier>
<http://twitter.com/prenzier/>
  <http://www.orkut.com.br/Main#Profile?uid=13496291347057199080>
<http://cid-eacb613d80ce8dba.profile.live.com/>
  <http://www.delicious.com/rafaelprenzier/>
<http://www.google.com/profiles/rafaelprenzier>
  <http://br.linkedin.com/pub/rafael-prenzier-dos-santos/29/6a2/478>
<http://www.youtube.com/prenzier>
  <http://www.diigo.com/user/prenzier> <http://www.shelfari.com/rprenzier/shelf>
  <http://flavors.me/prenzier>
<http://www.diigo.com/user/prenzier>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico Ricardo Filipo
Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.

Veja um exemplo de uso:
https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm



>
> De: Aureliano Guedes 
>Para: Rio PM  
>Enviadas: Sexta-feira, 19 de Outubro de 2012 13:22
>Assunto: [Rio-pm] HTML::Parse
> 
>
> 
>Ola monges,
>tudo bem?
>
>Qual um bom modulo para buscar string em um HTML?
>Vocês aconselham o HTML::Parse?
>
>Eu não entendo muito de html, mas estou tentando pegar um link dentro de uma 
>pagina.
>
>Um exemplo é esse: http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/
>
>Os Links estão nesse formato: 
>
>title="Thaeme E Thiago - Ai Que Do">
>O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria 
>pegar apenas o primeiro.
>Poderia usar regexp mas anteriormente me disseram que não é muito elegante 
>parsear HTML na unha.
>
>Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.
>
>Att,
>Aureliano Guedes.
>
>___
>Rio-pm mailing list
>Rio-pm@pm.org
>http://mail.pm.org/mailman/listinfo/rio-pm
>
>___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico Aureliano Guedes

Opa, valeu mesmo a ajuda. 
Eu consegui o que queria nessa primeira etapa, ficou assim:
http://pastebin.com/GzAnaCK1

Agora tenho outro problema.

O link direciona para uma pagina de download, seguindo nosso exemplo temo a 
seguinte pagina: 
http://www.buscamp3.org/download/thaeme+e+thiago+ai+que+do_3473494b6c3636334d55.html

Dentro dessa pagina é que esta o link do download, como no caso: 
www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/thaeme+e+thiago+ai+que+do.mp3

A duvida agora continua sendo banal: "Como faço para salvar esse arquivo em um 
diretorio?".
No momento que requisitar a pagina virá o arquivo normalmente??

Pois eu tentei dar um get no arquivo dessa forma e não deu certo:

use LWP::Simple;
my $url = get 
('www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/thaeme+e+thiago+ai+que+do.mp3');
open OUT,">". 'abcde.mp3';
print OUT $url;

Tentei usar: binmode $url;

Nenhuma dessas tentativas deu certo.

Tem alguma forma especial de fazer download de arquivo *.mp3?

From: gabriel.vie...@gmail.com
Date: Fri, 19 Oct 2012 15:48:03 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

---8<---perl -MMojo::UserAgent -E 'say 
Mojo::UserAgent->new->get("http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/";)->res->dom("table.linhas_lista")->[0]->find("a")->[0]->{href}'


--->8---
ou
---8<---mojo get 
http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/  a 12 attr href

--->8---
2012/10/19 Aureliano Guedes 






Ola monges,
tudo bem?

Qual um bom modulo para buscar string em um HTML?
Vocês aconselham o HTML::Parse?

Eu não entendo muito de html, mas estou tentando pegar um link dentro de uma 
pagina.

Um exemplo é esse: http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/



Os Links estão nesse formato: 



O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria 
pegar apenas o primeiro.
Poderia usar regexp mas anteriormente me disseram que não é muito elegante 
parsear HTML na unha.

Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.



Att,
Aureliano Guedes.
  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
Gabriel Vieira



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico Gabriel Vieira
---8<---
perl -MMojo::UserAgent -E 'say Mojo::UserAgent->new->get("
http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/
")->res->dom("table.linhas_lista")->[0]->find("a")->[0]->{href}'
--->8---

ou

---8<---
mojo get http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/  a 12
attr href
--->8---

2012/10/19 Aureliano Guedes 

>  Ola monges,
> tudo bem?
>
> Qual um bom modulo para buscar string em um HTML?
> Vocês aconselham o HTML::Parse?
>
> Eu não entendo muito de html, mas estou tentando pegar um link dentro de
> uma pagina.
>
> Um exemplo é esse:
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/
>
> Os Links estão nesse formato:
>
>  title="Thaeme E Thiago - Ai Que Do">
>
>
> O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria
> pegar apenas o primeiro.
> Poderia usar regexp mas anteriormente me disseram que não é muito elegante
> parsear HTML na unha.
>
> Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.
>
> Att,
> Aureliano Guedes.
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Gabriel Vieira
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico Aureliano Guedes

Acho que estou cometendo algum erro.

#!/usr/bin/env perl

use strict;
use warnings;
use WWW::Mechanize;

sub parse {
my ($self) = shift;
$self =~ s/\s+/\+/g;
chomp $self;
chop $self;
return $self;
}

sub link_gen {
my $self = shift; 
my $link = "http://www.buscamp3.org/busca/"; . $self;
return $link;
}

sub get_donwloader_link {
my $self = shift;
my $m = WWW::Mechanize->new();
$m->get($self);
my @Links = $m->links();
foreach my $link(@Links){
print $link->text();

}
undef $m;
}

open IN, $ARGV[0] or die;
foreach (){
print "Search for: " . $_ . "\n";
print get_donwloader_link (link_gen (parse ($_)));
print "\n__\n";
}

From: guedes_1...@hotmail.com
To: rio-pm@pm.org
Date: Fri, 19 Oct 2012 17:56:34 +
Subject: Re: [Rio-pm] HTML::Parse





Isso, é mais ou menos isso mesmo.
No caso você usou o WWW:Mechanize, que apesar de eu usar como navegador nunca 
tinha parado para ver essa propriedade dele.
Mas será que não fica um pouco pesado não usar o Mechanize?

Eu não entendi como usar o Web::Scraper indicado pelo Junior.

Mas ja me ajudaram, obrigado.

Date: Fri, 19 Oct 2012 14:47:38 -0300
From: andregarciacarne...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

Vários módulos e vários jeitos de fazer!


Se eu entendi o que você precisa, pode ser assim:
use common::sense;use WWW::Mechanize;
my $m = WWW::Mechanize->new();$m->get('http://www.google.com');my @Links = 
$m->links();foreach my $link(@Links){

say $link->text;}undef $m;

#Por favor, RTFM aqui: 
http://search.cpan.org/~jesse/WWW-Mechanize-1.72/lib/WWW/Mechanize/Link.pm 


Caso não seja isso o que você quer, explique melhor por gentileza!







2012/10/19 Aureliano Guedes 






Ola monges,
tudo bem?

Qual um bom modulo para buscar string em um HTML?
Vocês aconselham o HTML::Parse?

Eu não entendo muito de html, mas estou tentando pegar um link dentro de uma 
pagina.

Um exemplo é esse: http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/



Os Links estão nesse formato: 



O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria 
pegar apenas o primeiro.
Poderia usar regexp mas anteriormente me disseram que não é muito elegante 
parsear HTML na unha.

Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.



Att,
Aureliano Guedes.
  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
André Garcia Carneiro
Software Engineer


(11)982907780



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico Aureliano Guedes

Isso, é mais ou menos isso mesmo.
No caso você usou o WWW:Mechanize, que apesar de eu usar como navegador nunca 
tinha parado para ver essa propriedade dele.
Mas será que não fica um pouco pesado não usar o Mechanize?

Eu não entendi como usar o Web::Scraper indicado pelo Junior.

Mas ja me ajudaram, obrigado.

Date: Fri, 19 Oct 2012 14:47:38 -0300
From: andregarciacarne...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] HTML::Parse

Vários módulos e vários jeitos de fazer!


Se eu entendi o que você precisa, pode ser assim:
use common::sense;use WWW::Mechanize;
my $m = WWW::Mechanize->new();$m->get('http://www.google.com');my @Links = 
$m->links();foreach my $link(@Links){

say $link->text;}undef $m;

#Por favor, RTFM aqui: 
http://search.cpan.org/~jesse/WWW-Mechanize-1.72/lib/WWW/Mechanize/Link.pm 


Caso não seja isso o que você quer, explique melhor por gentileza!







2012/10/19 Aureliano Guedes 






Ola monges,
tudo bem?

Qual um bom modulo para buscar string em um HTML?
Vocês aconselham o HTML::Parse?

Eu não entendo muito de html, mas estou tentando pegar um link dentro de uma 
pagina.

Um exemplo é esse: http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/



Os Links estão nesse formato: 



O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria 
pegar apenas o primeiro.
Poderia usar regexp mas anteriormente me disseram que não é muito elegante 
parsear HTML na unha.

Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.



Att,
Aureliano Guedes.
  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
André Garcia Carneiro
Software Engineer


(11)982907780



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico Andre Carneiro
Vários módulos e vários jeitos de fazer!



Se eu entendi o que você precisa, pode ser assim:

use common::sense;
use WWW::Mechanize;
my $m = WWW::Mechanize->new();
$m->get('http://www.google.com ');
my @Links = $m->links();
foreach my $link(@Links){
say $link->text;

}
undef $m;


#Por favor, RTFM aqui:
http://search.cpan.org/~jesse/WWW-Mechanize-1.72/lib/WWW/Mechanize/Link.pm


Caso não seja isso o que você quer, explique melhor por gentileza!







2012/10/19 Aureliano Guedes 

>  Ola monges,
> tudo bem?
>
> Qual um bom modulo para buscar string em um HTML?
> Vocês aconselham o HTML::Parse?
>
> Eu não entendo muito de html, mas estou tentando pegar um link dentro de
> uma pagina.
>
> Um exemplo é esse:
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/
>
> Os Links estão nesse formato:
>
>  title="Thaeme E Thiago - Ai Que Do">
>
>
> O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria
> pegar apenas o primeiro.
> Poderia usar regexp mas anteriormente me disseram que não é muito elegante
> parsear HTML na unha.
>
> Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.
>
> Att,
> Aureliano Guedes.
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
André Garcia Carneiro
Software Engineer
(11)982907780
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico Junior Moraes
Hi.

https://metacpan.org/module/HTML::TreeBuilder::XPath
https://metacpan.org/module/Web::Scraper::LibXML

Aliás, Web::Scraper em si já cai como uma luva.

[]'s

Em 19 de outubro de 2012 14:22, Aureliano Guedes
escreveu:

>  Ola monges,
> tudo bem?
>
> Qual um bom modulo para buscar string em um HTML?
> Vocês aconselham o HTML::Parse?
>
> Eu não entendo muito de html, mas estou tentando pegar um link dentro de
> uma pagina.
>
> Um exemplo é esse:
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/
>
> Os Links estão nesse formato:
>
>  title="Thaeme E Thiago - Ai Que Do">
>
>
> O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria
> pegar apenas o primeiro.
> Poderia usar regexp mas anteriormente me disseram que não é muito elegante
> parsear HTML na unha.
>
> Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.
>
> Att,
> Aureliano Guedes.
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

[Rio-pm] HTML::Parse

2012-10-19 Por tôpico Aureliano Guedes

Ola monges,
tudo bem?

Qual um bom modulo para buscar string em um HTML?
Vocês aconselham o HTML::Parse?

Eu não entendo muito de html, mas estou tentando pegar um link dentro de uma 
pagina.

Um exemplo é esse: http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/

Os Links estão nesse formato: 

O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria 
pegar apenas o primeiro.
Poderia usar regexp mas anteriormente me disseram que não é muito elegante 
parsear HTML na unha.

Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.

Att,
Aureliano Guedes.
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm