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 +0000 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: <a href="/dl/347357664b655256724e/554545485125135/Fernando+E+Sorocaba+++++Tenso.mp3" rel="nofollow" title="Download Fernando E Sorocaba Tenso.mp3!"> <img src="/images/download.jpg" width="95" height="25" alt="Baixar Fernando E Sorocaba Tenso" style="border:0" /></a> 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 +0000 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 <guedes_1...@hotmail.com> 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 <guedes_1...@hotmail.com> 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 +0000 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 <guedes_1...@hotmail.com> 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 <rafaelprenz...@gmail.com> WWW::Mechanize ++ 2012/10/19 Ricardo Filipo <ricardo_fil...@yahoo.com.br> 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 <guedes_1...@hotmail.com> Para: Rio PM <rio-pm@pm.org> 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: <a href="/download/thaeme+e+thiago+ai+que+do_3473494b6c3636334d55.html" 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 _______________________________________________ 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 _______________________________________________ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm -- Bruno C. Buss http://www.brunobuss.net _______________________________________________ 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 -- Bruno C. Buss http://www.brunobuss.net _______________________________________________ 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