Re: [Rio-pm] print() on closed filehandle

2012-10-21 Por tôpico Aureliano Guedes

Isso é que é sacar do assunto.

From: tiago.pecze...@gmail.com
Date: Sun, 21 Oct 2012 18:45:15 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] print() on closed filehandle

um beijo pra vc também

2012/10/21 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 :)




ABS()




2012/10/21 Tiago Peczenyj 




mas isso nao explica o tamanho do video ser tão diferente...

2012/10/21 Stanislaw Pusep 






Você usa Windows, não?Neste caso, precisa dar um binmode($fh) logo após o 
open($fh, ...). Ou então abrir o handle como open($fh, '>:raw', 'nome.mp3').





O erro acontece por que o Perl do Windows substitui byte \x0A pela sequencia 
\x0D\x0A em arquivos "texto".

Em arquivo não-"texto", isso não é nada bom.
ABS()




2012/10/21 Aureliano Guedes 












Não ainda, vou experimentar e volto com os resultados.

From: tiago.pecze...@gmail.com
Date: Sun, 21 Oct 2012 17:54:30 -0200








To: rio-pm@pm.org
Subject: Re: [Rio-pm] print() on closed filehandle

então alguma coisa acontece durante o transporte ou o protocolo de transmissão. 
estou sem tempo de analisar mas vc experimento usar o wireshark?








2012/10/21 Aureliano Guedes 






MD5 diferente, ate o tamanho do arquivo é diferente, baixei o original pelo FF 
e a musica esta normal, alem, de que tem o tamanho de 6,16MB.
Em contrapartida o arquivo obtido pelo script fica com 6,19MB.

Ja tentei baixar denovo, continua o mesmo problema.










From: tiago.pecze...@gmail.com
Date: Sun, 21 Oct 2012 17:25:59 -0200
To: rio-pm@pm.org










Subject: Re: [Rio-pm] print() on closed filehandle

analise o arquivo original e o que vc esta salvando, vc pode ter corrompido 
algum byte. se o md5 dos dois for igual o problema é outro, se for diferente 
analise o que o ffmpeg -i diz do arquivo (ele vai analisar o cabeçalho do mp3).













2012/10/21 Aureliano Guedes 
















Realmente, um erro por falta de atenção. Agora deu certo. 

Contudo, os arquivos chegam com algum problema que não sei o que é.

As musicas não tocam normalmente, elas ficam com um barulho estranho e quase 
não da para reconhecer a musica, é como se estivesse acelerado.













Será que é problemas calsado devido a forma que estou manipulando esse tipo de 
arquivo?

From: tiago.pecze...@gmail.com
Date: Sun, 21 Oct 2012 16:57:12 -0200












To: rio-pm@pm.org
Subject: Re: [Rio-pm] print() on closed filehandle

sem falar que esta usando open com 2 argumentos. tente usar com 3 argumentos 
separando o modo de abrir do nome do arquivo com uma virgula ao inves de um 
ponto para concatenar. alias vc pode interpolar assim














open my $fh,">","$nome.mp3"; 
ou
open my $fh,">","${nome}.mp3";

On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith  wrote:














espacos no nome do arquivo? (sempre, como letras acentuadas, abominavel...)

0le

Send via Android

On Oct 21, 2012 3:38 PM, "Aureliano Guedes"  wrote:







Ola monges.

Estou com problema para salvar arquivos *.mp3 recebidos via download.

Ao salvar a mensagem retornada é 'print () on closed filehandle FH at 
C:\User\AG\Desktop\mes.pl  line 31.'.
















O sistema so retorna 'Invalid argument' quando uso o $!.

Então usei o autodie para ver o que me retornava:
"Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid 
argument' C:\User\AG\Desktop\mes.pl  line 19."
















Enfim, não estou entendendo o erro retornado.

http://pastebin.com/qxCMLv1V

#!/usr/bin/env perl

use common::sense;
use WWW::Mechanize;















use autodie;


sub parse {
my ($self) = shift;
$self =~ s/\s+/\+/g;
chomp $self;
print "Now --> " . $self . "\n\n";
return ("http://www.buscamp3.org/busca/"; . $self);















}

sub gd {
my ($self, $name) = @_;
print $self . " == " . $name . "\n\n";
open my $fh,">". $name . ".mp3";
my $m = WWW::Mechanize->new();















my $p = $m->get($self);
$p = $p->decoded_content;
$m->max_redirect(1);
my @Links = $m->links();
my $w = 0;
SWU: foreach my $link(@Links){
my @a = split ("/", $link->url());















if ($a[1] =~ m/dl/gi){
print "OK!\n";
my $c = $m->get("http://www.buscamp3.org"; . $link->url());
print $fh $c->decoded_content;















close $fh;
$w = 1;
}
last SWU if ($w == 1);
}
undef $m;
}


open IN, $ARGV[0] or die;

foreach (){
print "Search for: " . $_ . "\n";















my $a = parse($_);
gd($a, $_);
print "\n\n";
}
  

___

Rio-pm mailing list

Rio-pm@pm.org

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

Re: [Rio-pm] print() on closed filehandle

2012-10-21 Por tôpico Tiago Peczenyj
um beijo pra vc também

2012/10/21 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 :)
>
> ABS()
>
>
>
>
> 2012/10/21 Tiago Peczenyj 
>
>> mas isso nao explica o tamanho do video ser tão diferente...
>>
>>
>> 2012/10/21 Stanislaw Pusep 
>>
>>> Você usa Windows, não?
>>> Neste caso, precisa dar um binmode($fh) logo após o open($fh, ...). Ou
>>> então abrir o handle como open($fh, '>:raw', 'nome.mp3').
>>> O erro acontece por que o Perl do Windows substitui byte \x0A pela
>>> sequencia \x0D\x0A em arquivos "texto".
>>> Em arquivo não-"texto", isso não é nada bom.
>>>
>>> ABS()
>>>
>>>
>>>
>>>
>>> 2012/10/21 Aureliano Guedes 
>>>
  Não ainda, vou experimentar e volto com os resultados.

 --
 From: tiago.pecze...@gmail.com
 Date: Sun, 21 Oct 2012 17:54:30 -0200

 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] print() on closed filehandle

 então alguma coisa acontece durante o transporte ou o protocolo de
 transmissão. estou sem tempo de analisar mas vc experimento usar o
 wireshark?

 2012/10/21 Aureliano Guedes 

  MD5 diferente, ate o tamanho do arquivo é diferente, baixei o original
 pelo FF e a musica esta normal, alem, de que tem o tamanho de 6,16MB.
 Em contrapartida o arquivo obtido pelo script fica com 6,19MB.

 Ja tentei baixar denovo, continua o mesmo problema.
 --
 From: tiago.pecze...@gmail.com
 Date: Sun, 21 Oct 2012 17:25:59 -0200

 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] print() on closed filehandle

 analise o arquivo original e o que vc esta salvando, vc pode ter
 corrompido algum byte. se o md5 dos dois for igual o problema é outro, se
 for diferente analise o que o ffmpeg -i diz do arquivo (ele vai analisar o
 cabeçalho do mp3).

 2012/10/21 Aureliano Guedes 

  Realmente, um erro por falta de atenção. Agora deu certo.

 Contudo, os arquivos chegam com algum problema que não sei o que é.

 As musicas não tocam normalmente, elas ficam com um barulho estranho e
 quase não da para reconhecer a musica, é como se estivesse acelerado.

 Será que é problemas calsado devido a forma que estou manipulando esse
 tipo de arquivo?

 --
 From: tiago.pecze...@gmail.com
 Date: Sun, 21 Oct 2012 16:57:12 -0200
 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] print() on closed filehandle


 sem falar que esta usando open com 2 argumentos. tente usar com 3
 argumentos separando o modo de abrir do nome do arquivo com uma virgula ao
 inves de um ponto para concatenar. alias vc pode interpolar assim

 open my $fh,">","$nome.mp3";

 ou

 open my $fh,">","${nome}.mp3";

 On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith wrote:

 espacos no nome do arquivo? (sempre, como letras acentuadas,
 abominavel...)
 0le
 Send via Android
 On Oct 21, 2012 3:38 PM, "Aureliano Guedes" 
 wrote:

  Ola monges.

 Estou com problema para salvar arquivos *.mp3 recebidos via download.

 Ao salvar a mensagem retornada é 'print () on closed filehandle FH at
 C:\User\AG\Desktop\mes.pl  line 31.'.

 O sistema so retorna 'Invalid argument' quando uso o $!.

 Então usei o autodie para ver o que me retornava:
 "Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid
 argument' C:\User\AG\Desktop\mes.pl  line 19."

 Enfim, não estou entendendo o erro retornado.

 http://pastebin.com/qxCMLv1V

 #!/usr/bin/env perl

 use common::sense;
 use WWW::Mechanize;
 use autodie;


 sub parse {
 my ($self) = shift;
 $self =~ s/\s+/\+/g;
 chomp $self;
 print "Now --> " . $self . "\n\n";
 return ("http://www.buscamp3.org/busca/"; . $self);
 }

 sub gd {
 my ($self, $name) = @_;
 print $self . " == " . $name . "\n\n";
 open my $fh,">". $name . ".mp3";
 my $m = WWW::Mechanize->new();
 my $p = $m->get($self);
 $p = $p->decoded_content;
 $m->max_redirect(1);
 my @Links = $m->links();
 my $w = 0;
 SWU: foreach my $link(@Links){
 my @a = split ("/", $link->url());
 if ($a[1] =~ m/dl/gi){
 print "OK!\n";
 my $c = $m->get("http://www.buscamp3.org"; . $link->url());
 print $fh $c->decoded_content;
 close $fh;
 $w = 1;
 }
 last SWU if ($w == 1);
 }
 undef $m;

Re: [Rio-pm] print() on closed filehandle

2012-10-21 Por tôpico 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 :)

ABS()



2012/10/21 Tiago Peczenyj 

> mas isso nao explica o tamanho do video ser tão diferente...
>
>
> 2012/10/21 Stanislaw Pusep 
>
>> Você usa Windows, não?
>> Neste caso, precisa dar um binmode($fh) logo após o open($fh, ...). Ou
>> então abrir o handle como open($fh, '>:raw', 'nome.mp3').
>> O erro acontece por que o Perl do Windows substitui byte \x0A pela
>> sequencia \x0D\x0A em arquivos "texto".
>> Em arquivo não-"texto", isso não é nada bom.
>>
>> ABS()
>>
>>
>>
>>
>> 2012/10/21 Aureliano Guedes 
>>
>>>  Não ainda, vou experimentar e volto com os resultados.
>>>
>>> --
>>> From: tiago.pecze...@gmail.com
>>> Date: Sun, 21 Oct 2012 17:54:30 -0200
>>>
>>> To: rio-pm@pm.org
>>> Subject: Re: [Rio-pm] print() on closed filehandle
>>>
>>> então alguma coisa acontece durante o transporte ou o protocolo de
>>> transmissão. estou sem tempo de analisar mas vc experimento usar o
>>> wireshark?
>>>
>>> 2012/10/21 Aureliano Guedes 
>>>
>>>  MD5 diferente, ate o tamanho do arquivo é diferente, baixei o original
>>> pelo FF e a musica esta normal, alem, de que tem o tamanho de 6,16MB.
>>> Em contrapartida o arquivo obtido pelo script fica com 6,19MB.
>>>
>>> Ja tentei baixar denovo, continua o mesmo problema.
>>> --
>>> From: tiago.pecze...@gmail.com
>>> Date: Sun, 21 Oct 2012 17:25:59 -0200
>>>
>>> To: rio-pm@pm.org
>>> Subject: Re: [Rio-pm] print() on closed filehandle
>>>
>>> analise o arquivo original e o que vc esta salvando, vc pode ter
>>> corrompido algum byte. se o md5 dos dois for igual o problema é outro, se
>>> for diferente analise o que o ffmpeg -i diz do arquivo (ele vai analisar o
>>> cabeçalho do mp3).
>>>
>>> 2012/10/21 Aureliano Guedes 
>>>
>>>  Realmente, um erro por falta de atenção. Agora deu certo.
>>>
>>> Contudo, os arquivos chegam com algum problema que não sei o que é.
>>>
>>> As musicas não tocam normalmente, elas ficam com um barulho estranho e
>>> quase não da para reconhecer a musica, é como se estivesse acelerado.
>>>
>>> Será que é problemas calsado devido a forma que estou manipulando esse
>>> tipo de arquivo?
>>>
>>> --
>>> From: tiago.pecze...@gmail.com
>>> Date: Sun, 21 Oct 2012 16:57:12 -0200
>>> To: rio-pm@pm.org
>>> Subject: Re: [Rio-pm] print() on closed filehandle
>>>
>>>
>>> sem falar que esta usando open com 2 argumentos. tente usar com 3
>>> argumentos separando o modo de abrir do nome do arquivo com uma virgula ao
>>> inves de um ponto para concatenar. alias vc pode interpolar assim
>>>
>>> open my $fh,">","$nome.mp3";
>>>
>>> ou
>>>
>>> open my $fh,">","${nome}.mp3";
>>>
>>> On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith wrote:
>>>
>>> espacos no nome do arquivo? (sempre, como letras acentuadas,
>>> abominavel...)
>>> 0le
>>> Send via Android
>>> On Oct 21, 2012 3:38 PM, "Aureliano Guedes" 
>>> wrote:
>>>
>>>  Ola monges.
>>>
>>> Estou com problema para salvar arquivos *.mp3 recebidos via download.
>>>
>>> Ao salvar a mensagem retornada é 'print () on closed filehandle FH at
>>> C:\User\AG\Desktop\mes.pl  line 31.'.
>>>
>>> O sistema so retorna 'Invalid argument' quando uso o $!.
>>>
>>> Então usei o autodie para ver o que me retornava:
>>> "Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid
>>> argument' C:\User\AG\Desktop\mes.pl  line 19."
>>>
>>> Enfim, não estou entendendo o erro retornado.
>>>
>>> http://pastebin.com/qxCMLv1V
>>>
>>> #!/usr/bin/env perl
>>>
>>> use common::sense;
>>> use WWW::Mechanize;
>>> use autodie;
>>>
>>>
>>> sub parse {
>>> my ($self) = shift;
>>> $self =~ s/\s+/\+/g;
>>> chomp $self;
>>> print "Now --> " . $self . "\n\n";
>>> return ("http://www.buscamp3.org/busca/"; . $self);
>>> }
>>>
>>> sub gd {
>>> my ($self, $name) = @_;
>>> print $self . " == " . $name . "\n\n";
>>> open my $fh,">". $name . ".mp3";
>>> my $m = WWW::Mechanize->new();
>>> my $p = $m->get($self);
>>> $p = $p->decoded_content;
>>> $m->max_redirect(1);
>>> my @Links = $m->links();
>>> my $w = 0;
>>> SWU: foreach my $link(@Links){
>>> my @a = split ("/", $link->url());
>>> if ($a[1] =~ m/dl/gi){
>>> print "OK!\n";
>>> my $c = $m->get("http://www.buscamp3.org"; . $link->url());
>>> print $fh $c->decoded_content;
>>> close $fh;
>>> $w = 1;
>>> }
>>> last SWU if ($w == 1);
>>> }
>>> undef $m;
>>> }
>>>
>>>
>>> open IN, $ARGV[0] or die;
>>>
>>> foreach (){
>>> print "Search for: " . $_ . "\n";
>>> my $a = parse($_);
>>> gd($a, $_);
>>> print "\n\n";
>>> }
>>>
>>> ___

Re: [Rio-pm] print() on closed filehandle

2012-10-21 Por tôpico Aureliano Guedes

Stanislaw, segui seu conselho e deu certo. MD5 e tamanho de arquivos ficaram 
iguais, e as musicas normais.

Obrigado.

From: tiago.pecze...@gmail.com
Date: Sun, 21 Oct 2012 18:21:37 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] print() on closed filehandle

mas isso nao explica o tamanho do video ser tão diferente...

2012/10/21 Stanislaw Pusep 


Você usa Windows, não?Neste caso, precisa dar um binmode($fh) logo após o 
open($fh, ...). Ou então abrir o handle como open($fh, '>:raw', 'nome.mp3').

O erro acontece por que o Perl do Windows substitui byte \x0A pela sequencia 
\x0D\x0A em arquivos "texto".

Em arquivo não-"texto", isso não é nada bom.
ABS()




2012/10/21 Aureliano Guedes 








Não ainda, vou experimentar e volto com os resultados.

From: tiago.pecze...@gmail.com
Date: Sun, 21 Oct 2012 17:54:30 -0200




To: rio-pm@pm.org
Subject: Re: [Rio-pm] print() on closed filehandle

então alguma coisa acontece durante o transporte ou o protocolo de transmissão. 
estou sem tempo de analisar mas vc experimento usar o wireshark?




2012/10/21 Aureliano Guedes 






MD5 diferente, ate o tamanho do arquivo é diferente, baixei o original pelo FF 
e a musica esta normal, alem, de que tem o tamanho de 6,16MB.
Em contrapartida o arquivo obtido pelo script fica com 6,19MB.

Ja tentei baixar denovo, continua o mesmo problema.






From: tiago.pecze...@gmail.com
Date: Sun, 21 Oct 2012 17:25:59 -0200
To: rio-pm@pm.org






Subject: Re: [Rio-pm] print() on closed filehandle

analise o arquivo original e o que vc esta salvando, vc pode ter corrompido 
algum byte. se o md5 dos dois for igual o problema é outro, se for diferente 
analise o que o ffmpeg -i diz do arquivo (ele vai analisar o cabeçalho do mp3).









2012/10/21 Aureliano Guedes 












Realmente, um erro por falta de atenção. Agora deu certo. 

Contudo, os arquivos chegam com algum problema que não sei o que é.

As musicas não tocam normalmente, elas ficam com um barulho estranho e quase 
não da para reconhecer a musica, é como se estivesse acelerado.









Será que é problemas calsado devido a forma que estou manipulando esse tipo de 
arquivo?

From: tiago.pecze...@gmail.com
Date: Sun, 21 Oct 2012 16:57:12 -0200








To: rio-pm@pm.org
Subject: Re: [Rio-pm] print() on closed filehandle

sem falar que esta usando open com 2 argumentos. tente usar com 3 argumentos 
separando o modo de abrir do nome do arquivo com uma virgula ao inves de um 
ponto para concatenar. alias vc pode interpolar assim










open my $fh,">","$nome.mp3"; 
ou
open my $fh,">","${nome}.mp3";

On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith  wrote:










espacos no nome do arquivo? (sempre, como letras acentuadas, abominavel...)

0le

Send via Android

On Oct 21, 2012 3:38 PM, "Aureliano Guedes"  wrote:







Ola monges.

Estou com problema para salvar arquivos *.mp3 recebidos via download.

Ao salvar a mensagem retornada é 'print () on closed filehandle FH at 
C:\User\AG\Desktop\mes.pl  line 31.'.












O sistema so retorna 'Invalid argument' quando uso o $!.

Então usei o autodie para ver o que me retornava:
"Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid 
argument' C:\User\AG\Desktop\mes.pl  line 19."












Enfim, não estou entendendo o erro retornado.

http://pastebin.com/qxCMLv1V

#!/usr/bin/env perl

use common::sense;
use WWW::Mechanize;











use autodie;


sub parse {
my ($self) = shift;
$self =~ s/\s+/\+/g;
chomp $self;
print "Now --> " . $self . "\n\n";
return ("http://www.buscamp3.org/busca/"; . $self);











}

sub gd {
my ($self, $name) = @_;
print $self . " == " . $name . "\n\n";
open my $fh,">". $name . ".mp3";
my $m = WWW::Mechanize->new();











my $p = $m->get($self);
$p = $p->decoded_content;
$m->max_redirect(1);
my @Links = $m->links();
my $w = 0;
SWU: foreach my $link(@Links){
my @a = split ("/", $link->url());











if ($a[1] =~ m/dl/gi){
print "OK!\n";
my $c = $m->get("http://www.buscamp3.org"; . $link->url());
print $fh $c->decoded_content;











close $fh;
$w = 1;
}
last SWU if ($w == 1);
}
undef $m;
}


open IN, $ARGV[0] or die;

foreach (){
print "Search for: " . $_ . "\n";











my $a = parse($_);
gd($a, $_);
print "\n\n";
}
  

___

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] print() on closed filehandle

2012-10-21 Por tôpico Tiago Peczenyj
mas isso nao explica o tamanho do video ser tão diferente...

2012/10/21 Stanislaw Pusep 

> Você usa Windows, não?
> Neste caso, precisa dar um binmode($fh) logo após o open($fh, ...). Ou
> então abrir o handle como open($fh, '>:raw', 'nome.mp3').
> O erro acontece por que o Perl do Windows substitui byte \x0A pela
> sequencia \x0D\x0A em arquivos "texto".
> Em arquivo não-"texto", isso não é nada bom.
>
> ABS()
>
>
>
>
> 2012/10/21 Aureliano Guedes 
>
>>  Não ainda, vou experimentar e volto com os resultados.
>>
>> --
>> From: tiago.pecze...@gmail.com
>> Date: Sun, 21 Oct 2012 17:54:30 -0200
>>
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] print() on closed filehandle
>>
>> então alguma coisa acontece durante o transporte ou o protocolo de
>> transmissão. estou sem tempo de analisar mas vc experimento usar o
>> wireshark?
>>
>> 2012/10/21 Aureliano Guedes 
>>
>>  MD5 diferente, ate o tamanho do arquivo é diferente, baixei o original
>> pelo FF e a musica esta normal, alem, de que tem o tamanho de 6,16MB.
>> Em contrapartida o arquivo obtido pelo script fica com 6,19MB.
>>
>> Ja tentei baixar denovo, continua o mesmo problema.
>> --
>> From: tiago.pecze...@gmail.com
>> Date: Sun, 21 Oct 2012 17:25:59 -0200
>>
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] print() on closed filehandle
>>
>> analise o arquivo original e o que vc esta salvando, vc pode ter
>> corrompido algum byte. se o md5 dos dois for igual o problema é outro, se
>> for diferente analise o que o ffmpeg -i diz do arquivo (ele vai analisar o
>> cabeçalho do mp3).
>>
>> 2012/10/21 Aureliano Guedes 
>>
>>  Realmente, um erro por falta de atenção. Agora deu certo.
>>
>> Contudo, os arquivos chegam com algum problema que não sei o que é.
>>
>> As musicas não tocam normalmente, elas ficam com um barulho estranho e
>> quase não da para reconhecer a musica, é como se estivesse acelerado.
>>
>> Será que é problemas calsado devido a forma que estou manipulando esse
>> tipo de arquivo?
>>
>> --
>> From: tiago.pecze...@gmail.com
>> Date: Sun, 21 Oct 2012 16:57:12 -0200
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] print() on closed filehandle
>>
>>
>> sem falar que esta usando open com 2 argumentos. tente usar com 3
>> argumentos separando o modo de abrir do nome do arquivo com uma virgula ao
>> inves de um ponto para concatenar. alias vc pode interpolar assim
>>
>> open my $fh,">","$nome.mp3";
>>
>> ou
>>
>> open my $fh,">","${nome}.mp3";
>>
>> On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith wrote:
>>
>> espacos no nome do arquivo? (sempre, como letras acentuadas,
>> abominavel...)
>> 0le
>> Send via Android
>> On Oct 21, 2012 3:38 PM, "Aureliano Guedes" 
>> wrote:
>>
>>  Ola monges.
>>
>> Estou com problema para salvar arquivos *.mp3 recebidos via download.
>>
>> Ao salvar a mensagem retornada é 'print () on closed filehandle FH at
>> C:\User\AG\Desktop\mes.pl  line 31.'.
>>
>> O sistema so retorna 'Invalid argument' quando uso o $!.
>>
>> Então usei o autodie para ver o que me retornava:
>> "Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid
>> argument' C:\User\AG\Desktop\mes.pl  line 19."
>>
>> Enfim, não estou entendendo o erro retornado.
>>
>> http://pastebin.com/qxCMLv1V
>>
>> #!/usr/bin/env perl
>>
>> use common::sense;
>> use WWW::Mechanize;
>> use autodie;
>>
>>
>> sub parse {
>> my ($self) = shift;
>> $self =~ s/\s+/\+/g;
>> chomp $self;
>> print "Now --> " . $self . "\n\n";
>> return ("http://www.buscamp3.org/busca/"; . $self);
>> }
>>
>> sub gd {
>> my ($self, $name) = @_;
>> print $self . " == " . $name . "\n\n";
>> open my $fh,">". $name . ".mp3";
>> my $m = WWW::Mechanize->new();
>> my $p = $m->get($self);
>> $p = $p->decoded_content;
>> $m->max_redirect(1);
>> my @Links = $m->links();
>> my $w = 0;
>> SWU: foreach my $link(@Links){
>> my @a = split ("/", $link->url());
>> if ($a[1] =~ m/dl/gi){
>> print "OK!\n";
>> my $c = $m->get("http://www.buscamp3.org"; . $link->url());
>> print $fh $c->decoded_content;
>> close $fh;
>> $w = 1;
>> }
>> last SWU if ($w == 1);
>> }
>> undef $m;
>> }
>>
>>
>> open IN, $ARGV[0] or die;
>>
>> foreach (){
>> print "Search for: " . $_ . "\n";
>> my $a = parse($_);
>> gd($a, $_);
>> print "\n\n";
>> }
>>
>> ___
>> 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] print() on closed filehandle

2012-10-21 Por tôpico Stanislaw Pusep
Você usa Windows, não?
Neste caso, precisa dar um binmode($fh) logo após o open($fh, ...). Ou
então abrir o handle como open($fh, '>:raw', 'nome.mp3').
O erro acontece por que o Perl do Windows substitui byte \x0A pela
sequencia \x0D\x0A em arquivos "texto".
Em arquivo não-"texto", isso não é nada bom.

ABS()



2012/10/21 Aureliano Guedes 

>  Não ainda, vou experimentar e volto com os resultados.
>
> --
> From: tiago.pecze...@gmail.com
> Date: Sun, 21 Oct 2012 17:54:30 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] print() on closed filehandle
>
> então alguma coisa acontece durante o transporte ou o protocolo de
> transmissão. estou sem tempo de analisar mas vc experimento usar o
> wireshark?
>
> 2012/10/21 Aureliano Guedes 
>
>  MD5 diferente, ate o tamanho do arquivo é diferente, baixei o original
> pelo FF e a musica esta normal, alem, de que tem o tamanho de 6,16MB.
> Em contrapartida o arquivo obtido pelo script fica com 6,19MB.
>
> Ja tentei baixar denovo, continua o mesmo problema.
> --
> From: tiago.pecze...@gmail.com
> Date: Sun, 21 Oct 2012 17:25:59 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] print() on closed filehandle
>
> analise o arquivo original e o que vc esta salvando, vc pode ter
> corrompido algum byte. se o md5 dos dois for igual o problema é outro, se
> for diferente analise o que o ffmpeg -i diz do arquivo (ele vai analisar o
> cabeçalho do mp3).
>
> 2012/10/21 Aureliano Guedes 
>
>  Realmente, um erro por falta de atenção. Agora deu certo.
>
> Contudo, os arquivos chegam com algum problema que não sei o que é.
>
> As musicas não tocam normalmente, elas ficam com um barulho estranho e
> quase não da para reconhecer a musica, é como se estivesse acelerado.
>
> Será que é problemas calsado devido a forma que estou manipulando esse
> tipo de arquivo?
>
> --
> From: tiago.pecze...@gmail.com
> Date: Sun, 21 Oct 2012 16:57:12 -0200
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] print() on closed filehandle
>
>
> sem falar que esta usando open com 2 argumentos. tente usar com 3
> argumentos separando o modo de abrir do nome do arquivo com uma virgula ao
> inves de um ponto para concatenar. alias vc pode interpolar assim
>
> open my $fh,">","$nome.mp3";
>
> ou
>
> open my $fh,">","${nome}.mp3";
>
> On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith wrote:
>
> espacos no nome do arquivo? (sempre, como letras acentuadas, abominavel...)
> 0le
> Send via Android
> On Oct 21, 2012 3:38 PM, "Aureliano Guedes" 
> wrote:
>
>  Ola monges.
>
> Estou com problema para salvar arquivos *.mp3 recebidos via download.
>
> Ao salvar a mensagem retornada é 'print () on closed filehandle FH at
> C:\User\AG\Desktop\mes.pl  line 31.'.
>
> O sistema so retorna 'Invalid argument' quando uso o $!.
>
> Então usei o autodie para ver o que me retornava:
> "Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid
> argument' C:\User\AG\Desktop\mes.pl  line 19."
>
> Enfim, não estou entendendo o erro retornado.
>
> http://pastebin.com/qxCMLv1V
>
> #!/usr/bin/env perl
>
> use common::sense;
> use WWW::Mechanize;
> use autodie;
>
>
> sub parse {
> my ($self) = shift;
> $self =~ s/\s+/\+/g;
> chomp $self;
> print "Now --> " . $self . "\n\n";
> return ("http://www.buscamp3.org/busca/"; . $self);
> }
>
> sub gd {
> my ($self, $name) = @_;
> print $self . " == " . $name . "\n\n";
> open my $fh,">". $name . ".mp3";
> my $m = WWW::Mechanize->new();
> my $p = $m->get($self);
> $p = $p->decoded_content;
> $m->max_redirect(1);
> my @Links = $m->links();
> my $w = 0;
> SWU: foreach my $link(@Links){
> my @a = split ("/", $link->url());
> if ($a[1] =~ m/dl/gi){
> print "OK!\n";
> my $c = $m->get("http://www.buscamp3.org"; . $link->url());
> print $fh $c->decoded_content;
> close $fh;
> $w = 1;
> }
> last SWU if ($w == 1);
> }
> undef $m;
> }
>
>
> open IN, $ARGV[0] or die;
>
> foreach (){
> print "Search for: " . $_ . "\n";
> my $a = parse($_);
> gd($a, $_);
> print "\n\n";
> }
>
> ___
> 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
>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://pacman.blog.br
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http

Re: [Rio-pm] print() on closed filehandle

2012-10-21 Por tôpico Aureliano Guedes

Não ainda, vou experimentar e volto com os resultados.

From: tiago.pecze...@gmail.com
Date: Sun, 21 Oct 2012 17:54:30 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] print() on closed filehandle

então alguma coisa acontece durante o transporte ou o protocolo de transmissão. 
estou sem tempo de analisar mas vc experimento usar o wireshark?
2012/10/21 Aureliano Guedes 






MD5 diferente, ate o tamanho do arquivo é diferente, baixei o original pelo FF 
e a musica esta normal, alem, de que tem o tamanho de 6,16MB.
Em contrapartida o arquivo obtido pelo script fica com 6,19MB.

Ja tentei baixar denovo, continua o mesmo problema.


From: tiago.pecze...@gmail.com
Date: Sun, 21 Oct 2012 17:25:59 -0200
To: rio-pm@pm.org


Subject: Re: [Rio-pm] print() on closed filehandle

analise o arquivo original e o que vc esta salvando, vc pode ter corrompido 
algum byte. se o md5 dos dois for igual o problema é outro, se for diferente 
analise o que o ffmpeg -i diz do arquivo (ele vai analisar o cabeçalho do mp3).





2012/10/21 Aureliano Guedes 








Realmente, um erro por falta de atenção. Agora deu certo. 

Contudo, os arquivos chegam com algum problema que não sei o que é.

As musicas não tocam normalmente, elas ficam com um barulho estranho e quase 
não da para reconhecer a musica, é como se estivesse acelerado.





Será que é problemas calsado devido a forma que estou manipulando esse tipo de 
arquivo?

From: tiago.pecze...@gmail.com
Date: Sun, 21 Oct 2012 16:57:12 -0200




To: rio-pm@pm.org
Subject: Re: [Rio-pm] print() on closed filehandle

sem falar que esta usando open com 2 argumentos. tente usar com 3 argumentos 
separando o modo de abrir do nome do arquivo com uma virgula ao inves de um 
ponto para concatenar. alias vc pode interpolar assim






open my $fh,">","$nome.mp3"; 
ou
open my $fh,">","${nome}.mp3";

On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith  wrote:






espacos no nome do arquivo? (sempre, como letras acentuadas, abominavel...)

0le

Send via Android

On Oct 21, 2012 3:38 PM, "Aureliano Guedes"  wrote:







Ola monges.

Estou com problema para salvar arquivos *.mp3 recebidos via download.

Ao salvar a mensagem retornada é 'print () on closed filehandle FH at 
C:\User\AG\Desktop\mes.pl  line 31.'.








O sistema so retorna 'Invalid argument' quando uso o $!.

Então usei o autodie para ver o que me retornava:
"Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid 
argument' C:\User\AG\Desktop\mes.pl  line 19."








Enfim, não estou entendendo o erro retornado.

http://pastebin.com/qxCMLv1V

#!/usr/bin/env perl

use common::sense;
use WWW::Mechanize;







use autodie;


sub parse {
my ($self) = shift;
$self =~ s/\s+/\+/g;
chomp $self;
print "Now --> " . $self . "\n\n";
return ("http://www.buscamp3.org/busca/"; . $self);







}

sub gd {
my ($self, $name) = @_;
print $self . " == " . $name . "\n\n";
open my $fh,">". $name . ".mp3";
my $m = WWW::Mechanize->new();







my $p = $m->get($self);
$p = $p->decoded_content;
$m->max_redirect(1);
my @Links = $m->links();
my $w = 0;
SWU: foreach my $link(@Links){
my @a = split ("/", $link->url());







if ($a[1] =~ m/dl/gi){
print "OK!\n";
my $c = $m->get("http://www.buscamp3.org"; . $link->url());
print $fh $c->decoded_content;







close $fh;
$w = 1;
}
last SWU if ($w == 1);
}
undef $m;
}


open IN, $ARGV[0] or die;

foreach (){
print "Search for: " . $_ . "\n";







my $a = parse($_);
gd($a, $_);
print "\n\n";
}
  

___

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


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


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

Re: [Rio-pm] print() on closed filehandle

2012-10-21 Por tôpico Tiago Peczenyj
então alguma coisa acontece durante o transporte ou o protocolo de
transmissão. estou sem tempo de analisar mas vc experimento usar o
wireshark?

2012/10/21 Aureliano Guedes 

>  MD5 diferente, ate o tamanho do arquivo é diferente, baixei o original
> pelo FF e a musica esta normal, alem, de que tem o tamanho de 6,16MB.
> Em contrapartida o arquivo obtido pelo script fica com 6,19MB.
>
> Ja tentei baixar denovo, continua o mesmo problema.
> --
> From: tiago.pecze...@gmail.com
> Date: Sun, 21 Oct 2012 17:25:59 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] print() on closed filehandle
>
> analise o arquivo original e o que vc esta salvando, vc pode ter
> corrompido algum byte. se o md5 dos dois for igual o problema é outro, se
> for diferente analise o que o ffmpeg -i diz do arquivo (ele vai analisar o
> cabeçalho do mp3).
>
> 2012/10/21 Aureliano Guedes 
>
>  Realmente, um erro por falta de atenção. Agora deu certo.
>
> Contudo, os arquivos chegam com algum problema que não sei o que é.
>
> As musicas não tocam normalmente, elas ficam com um barulho estranho e
> quase não da para reconhecer a musica, é como se estivesse acelerado.
>
> Será que é problemas calsado devido a forma que estou manipulando esse
> tipo de arquivo?
>
> --
> From: tiago.pecze...@gmail.com
> Date: Sun, 21 Oct 2012 16:57:12 -0200
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] print() on closed filehandle
>
>
> sem falar que esta usando open com 2 argumentos. tente usar com 3
> argumentos separando o modo de abrir do nome do arquivo com uma virgula ao
> inves de um ponto para concatenar. alias vc pode interpolar assim
>
> open my $fh,">","$nome.mp3";
>
> ou
>
> open my $fh,">","${nome}.mp3";
>
> On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith wrote:
>
> espacos no nome do arquivo? (sempre, como letras acentuadas, abominavel...)
> 0le
> Send via Android
> On Oct 21, 2012 3:38 PM, "Aureliano Guedes" 
> wrote:
>
>  Ola monges.
>
> Estou com problema para salvar arquivos *.mp3 recebidos via download.
>
> Ao salvar a mensagem retornada é 'print () on closed filehandle FH at
> C:\User\AG\Desktop\mes.pl  line 31.'.
>
> O sistema so retorna 'Invalid argument' quando uso o $!.
>
> Então usei o autodie para ver o que me retornava:
> "Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid
> argument' C:\User\AG\Desktop\mes.pl  line 19."
>
> Enfim, não estou entendendo o erro retornado.
>
> http://pastebin.com/qxCMLv1V
>
> #!/usr/bin/env perl
>
> use common::sense;
> use WWW::Mechanize;
> use autodie;
>
>
> sub parse {
> my ($self) = shift;
> $self =~ s/\s+/\+/g;
> chomp $self;
> print "Now --> " . $self . "\n\n";
> return ("http://www.buscamp3.org/busca/"; . $self);
> }
>
> sub gd {
> my ($self, $name) = @_;
> print $self . " == " . $name . "\n\n";
> open my $fh,">". $name . ".mp3";
> my $m = WWW::Mechanize->new();
> my $p = $m->get($self);
> $p = $p->decoded_content;
> $m->max_redirect(1);
> my @Links = $m->links();
> my $w = 0;
> SWU: foreach my $link(@Links){
> my @a = split ("/", $link->url());
> if ($a[1] =~ m/dl/gi){
> print "OK!\n";
> my $c = $m->get("http://www.buscamp3.org"; . $link->url());
> print $fh $c->decoded_content;
> close $fh;
> $w = 1;
> }
> last SWU if ($w == 1);
> }
> undef $m;
> }
>
>
> open IN, $ARGV[0] or die;
>
> foreach (){
> print "Search for: " . $_ . "\n";
> my $a = parse($_);
> gd($a, $_);
> print "\n\n";
> }
>
> ___
> 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
>
>
>
>
> --
> 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
>



-- 
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] print() on closed filehandle

2012-10-21 Por tôpico Aureliano Guedes

MD5 diferente, ate o tamanho do arquivo é diferente, baixei o original pelo FF 
e a musica esta normal, alem, de que tem o tamanho de 6,16MB.
Em contrapartida o arquivo obtido pelo script fica com 6,19MB.

Ja tentei baixar denovo, continua o mesmo problema.
From: tiago.pecze...@gmail.com
Date: Sun, 21 Oct 2012 17:25:59 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] print() on closed filehandle

analise o arquivo original e o que vc esta salvando, vc pode ter corrompido 
algum byte. se o md5 dos dois for igual o problema é outro, se for diferente 
analise o que o ffmpeg -i diz do arquivo (ele vai analisar o cabeçalho do mp3).



2012/10/21 Aureliano Guedes 






Realmente, um erro por falta de atenção. Agora deu certo. 

Contudo, os arquivos chegam com algum problema que não sei o que é.

As musicas não tocam normalmente, elas ficam com um barulho estranho e quase 
não da para reconhecer a musica, é como se estivesse acelerado.



Será que é problemas calsado devido a forma que estou manipulando esse tipo de 
arquivo?

From: tiago.pecze...@gmail.com
Date: Sun, 21 Oct 2012 16:57:12 -0200


To: rio-pm@pm.org
Subject: Re: [Rio-pm] print() on closed filehandle

sem falar que esta usando open com 2 argumentos. tente usar com 3 argumentos 
separando o modo de abrir do nome do arquivo com uma virgula ao inves de um 
ponto para concatenar. alias vc pode interpolar assim




open my $fh,">","$nome.mp3"; 
ou
open my $fh,">","${nome}.mp3";

On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith  wrote:




espacos no nome do arquivo? (sempre, como letras acentuadas, abominavel...)

0le

Send via Android

On Oct 21, 2012 3:38 PM, "Aureliano Guedes"  wrote:







Ola monges.

Estou com problema para salvar arquivos *.mp3 recebidos via download.

Ao salvar a mensagem retornada é 'print () on closed filehandle FH at 
C:\User\AG\Desktop\mes.pl  line 31.'.






O sistema so retorna 'Invalid argument' quando uso o $!.

Então usei o autodie para ver o que me retornava:
"Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid 
argument' C:\User\AG\Desktop\mes.pl  line 19."






Enfim, não estou entendendo o erro retornado.

http://pastebin.com/qxCMLv1V

#!/usr/bin/env perl

use common::sense;
use WWW::Mechanize;





use autodie;


sub parse {
my ($self) = shift;
$self =~ s/\s+/\+/g;
chomp $self;
print "Now --> " . $self . "\n\n";
return ("http://www.buscamp3.org/busca/"; . $self);





}

sub gd {
my ($self, $name) = @_;
print $self . " == " . $name . "\n\n";
open my $fh,">". $name . ".mp3";
my $m = WWW::Mechanize->new();





my $p = $m->get($self);
$p = $p->decoded_content;
$m->max_redirect(1);
my @Links = $m->links();
my $w = 0;
SWU: foreach my $link(@Links){
my @a = split ("/", $link->url());





if ($a[1] =~ m/dl/gi){
print "OK!\n";
my $c = $m->get("http://www.buscamp3.org"; . $link->url());
print $fh $c->decoded_content;





close $fh;
$w = 1;
}
last SWU if ($w == 1);
}
undef $m;
}


open IN, $ARGV[0] or die;

foreach (){
print "Search for: " . $_ . "\n";





my $a = parse($_);
gd($a, $_);
print "\n\n";
}
  

___

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


-- 
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] print() on closed filehandle

2012-10-21 Por tôpico Tiago Peczenyj
analise o arquivo original e o que vc esta salvando, vc pode ter corrompido
algum byte. se o md5 dos dois for igual o problema é outro, se for
diferente analise o que o ffmpeg -i diz do arquivo (ele vai analisar o
cabeçalho do mp3).

2012/10/21 Aureliano Guedes 

>  Realmente, um erro por falta de atenção. Agora deu certo.
>
> Contudo, os arquivos chegam com algum problema que não sei o que é.
>
> As musicas não tocam normalmente, elas ficam com um barulho estranho e
> quase não da para reconhecer a musica, é como se estivesse acelerado.
>
> Será que é problemas calsado devido a forma que estou manipulando esse
> tipo de arquivo?
>
> --
> From: tiago.pecze...@gmail.com
> Date: Sun, 21 Oct 2012 16:57:12 -0200
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] print() on closed filehandle
>
>
> sem falar que esta usando open com 2 argumentos. tente usar com 3
> argumentos separando o modo de abrir do nome do arquivo com uma virgula ao
> inves de um ponto para concatenar. alias vc pode interpolar assim
>
> open my $fh,">","$nome.mp3";
>
> ou
>
> open my $fh,">","${nome}.mp3";
>
> On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith wrote:
>
> espacos no nome do arquivo? (sempre, como letras acentuadas, abominavel...)
> 0le
> Send via Android
> On Oct 21, 2012 3:38 PM, "Aureliano Guedes" 
> wrote:
>
>  Ola monges.
>
> Estou com problema para salvar arquivos *.mp3 recebidos via download.
>
> Ao salvar a mensagem retornada é 'print () on closed filehandle FH at
> C:\User\AG\Desktop\mes.pl  line 31.'.
>
> O sistema so retorna 'Invalid argument' quando uso o $!.
>
> Então usei o autodie para ver o que me retornava:
> "Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid
> argument' C:\User\AG\Desktop\mes.pl  line 19."
>
> Enfim, não estou entendendo o erro retornado.
>
> http://pastebin.com/qxCMLv1V
>
> #!/usr/bin/env perl
>
> use common::sense;
> use WWW::Mechanize;
> use autodie;
>
>
> sub parse {
> my ($self) = shift;
> $self =~ s/\s+/\+/g;
> chomp $self;
> print "Now --> " . $self . "\n\n";
> return ("http://www.buscamp3.org/busca/"; . $self);
> }
>
> sub gd {
> my ($self, $name) = @_;
> print $self . " == " . $name . "\n\n";
> open my $fh,">". $name . ".mp3";
> my $m = WWW::Mechanize->new();
> my $p = $m->get($self);
> $p = $p->decoded_content;
> $m->max_redirect(1);
> my @Links = $m->links();
> my $w = 0;
> SWU: foreach my $link(@Links){
> my @a = split ("/", $link->url());
> if ($a[1] =~ m/dl/gi){
> print "OK!\n";
> my $c = $m->get("http://www.buscamp3.org"; . $link->url());
> print $fh $c->decoded_content;
> close $fh;
> $w = 1;
> }
> last SWU if ($w == 1);
> }
> undef $m;
> }
>
>
> open IN, $ARGV[0] or die;
>
> foreach (){
> print "Search for: " . $_ . "\n";
> my $a = parse($_);
> gd($a, $_);
> print "\n\n";
> }
>
> ___
> 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
>



-- 
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] print() on closed filehandle

2012-10-21 Por tôpico Aureliano Guedes

Realmente, um erro por falta de atenção. Agora deu certo. 

Contudo, os arquivos chegam com algum problema que não sei o que é.

As musicas não tocam normalmente, elas ficam com um barulho estranho e quase 
não da para reconhecer a musica, é como se estivesse acelerado.

Será que é problemas calsado devido a forma que estou manipulando esse tipo de 
arquivo?

From: tiago.pecze...@gmail.com
Date: Sun, 21 Oct 2012 16:57:12 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] print() on closed filehandle

sem falar que esta usando open com 2 argumentos. tente usar com 3 argumentos 
separando o modo de abrir do nome do arquivo com uma virgula ao inves de um 
ponto para concatenar. alias vc pode interpolar assim


open my $fh,">","$nome.mp3"; 
ou
open my $fh,">","${nome}.mp3";

On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith  wrote:


espacos no nome do arquivo? (sempre, como letras acentuadas, abominavel...)
0le
Send via Android
On Oct 21, 2012 3:38 PM, "Aureliano Guedes"  wrote:







Ola monges.

Estou com problema para salvar arquivos *.mp3 recebidos via download.

Ao salvar a mensagem retornada é 'print () on closed filehandle FH at 
C:\User\AG\Desktop\mes.pl  line 31.'.




O sistema so retorna 'Invalid argument' quando uso o $!.

Então usei o autodie para ver o que me retornava:
"Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid 
argument' C:\User\AG\Desktop\mes.pl  line 19."




Enfim, não estou entendendo o erro retornado.

http://pastebin.com/qxCMLv1V

#!/usr/bin/env perl

use common::sense;
use WWW::Mechanize;



use autodie;


sub parse {
my ($self) = shift;
$self =~ s/\s+/\+/g;
chomp $self;
print "Now --> " . $self . "\n\n";
return ("http://www.buscamp3.org/busca/"; . $self);



}

sub gd {
my ($self, $name) = @_;
print $self . " == " . $name . "\n\n";
open my $fh,">". $name . ".mp3";
my $m = WWW::Mechanize->new();



my $p = $m->get($self);
$p = $p->decoded_content;
$m->max_redirect(1);
my @Links = $m->links();
my $w = 0;
SWU: foreach my $link(@Links){
my @a = split ("/", $link->url());



if ($a[1] =~ m/dl/gi){
print "OK!\n";
my $c = $m->get("http://www.buscamp3.org"; . $link->url());
print $fh $c->decoded_content;



close $fh;
$w = 1;
}
last SWU if ($w == 1);
}
undef $m;
}


open IN, $ARGV[0] or die;

foreach (){
print "Search for: " . $_ . "\n";



my $a = parse($_);
gd($a, $_);
print "\n\n";
}
  

___

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] print() on closed filehandle

2012-10-21 Por tôpico Tiago Peczenyj
sem falar que esta usando open com 2 argumentos. tente usar com 3
argumentos separando o modo de abrir do nome do arquivo com uma virgula ao
inves de um ponto para concatenar. alias vc pode interpolar assim

open my $fh,">","$nome.mp3";

ou

open my $fh,">","${nome}.mp3";

On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith  wrote:

> espacos no nome do arquivo? (sempre, como letras acentuadas, abominavel...)
>
> 0le
>
> Send via Android
> On Oct 21, 2012 3:38 PM, "Aureliano Guedes" 
> wrote:
>
>>  Ola monges.
>>
>> Estou com problema para salvar arquivos *.mp3 recebidos via download.
>>
>> Ao salvar a mensagem retornada é 'print () on closed filehandle FH at
>> C:\User\AG\Desktop\mes.pl  line 31.'.
>>
>> O sistema so retorna 'Invalid argument' quando uso o $!.
>>
>> Então usei o autodie para ver o que me retornava:
>> "Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid
>> argument' C:\User\AG\Desktop\mes.pl  line 19."
>>
>> Enfim, não estou entendendo o erro retornado.
>>
>> http://pastebin.com/qxCMLv1V
>>
>> #!/usr/bin/env perl
>>
>> use common::sense;
>> use WWW::Mechanize;
>> use autodie;
>>
>>
>> sub parse {
>> my ($self) = shift;
>> $self =~ s/\s+/\+/g;
>> chomp $self;
>> print "Now --> " . $self . "\n\n";
>> return ("http://www.buscamp3.org/busca/"; . $self);
>> }
>>
>> sub gd {
>> my ($self, $name) = @_;
>> print $self . " == " . $name . "\n\n";
>> open my $fh,">". $name . ".mp3";
>> my $m = WWW::Mechanize->new();
>> my $p = $m->get($self);
>> $p = $p->decoded_content;
>> $m->max_redirect(1);
>> my @Links = $m->links();
>> my $w = 0;
>> SWU: foreach my $link(@Links){
>> my @a = split ("/", $link->url());
>> if ($a[1] =~ m/dl/gi){
>> print "OK!\n";
>> my $c = $m->get("http://www.buscamp3.org"; . $link->url());
>> print $fh $c->decoded_content;
>> close $fh;
>> $w = 1;
>> }
>> last SWU if ($w == 1);
>> }
>> undef $m;
>> }
>>
>>
>> open IN, $ARGV[0] or die;
>>
>> foreach (){
>> print "Search for: " . $_ . "\n";
>> my $a = parse($_);
>> gd($a, $_);
>> print "\n\n";
>> }
>>
>> ___
>> 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] print() on closed filehandle

2012-10-21 Por tôpico Ole Peter Smith
espacos no nome do arquivo? (sempre, como letras acentuadas, abominavel...)

0le

Send via Android
On Oct 21, 2012 3:38 PM, "Aureliano Guedes"  wrote:

>  Ola monges.
>
> Estou com problema para salvar arquivos *.mp3 recebidos via download.
>
> Ao salvar a mensagem retornada é 'print () on closed filehandle FH at
> C:\User\AG\Desktop\mes.pl  line 31.'.
>
> O sistema so retorna 'Invalid argument' quando uso o $!.
>
> Então usei o autodie para ver o que me retornava:
> "Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid
> argument' C:\User\AG\Desktop\mes.pl  line 19."
>
> Enfim, não estou entendendo o erro retornado.
>
> http://pastebin.com/qxCMLv1V
>
> #!/usr/bin/env perl
>
> use common::sense;
> use WWW::Mechanize;
> use autodie;
>
>
> sub parse {
> my ($self) = shift;
> $self =~ s/\s+/\+/g;
> chomp $self;
> print "Now --> " . $self . "\n\n";
> return ("http://www.buscamp3.org/busca/"; . $self);
> }
>
> sub gd {
> my ($self, $name) = @_;
> print $self . " == " . $name . "\n\n";
> open my $fh,">". $name . ".mp3";
> my $m = WWW::Mechanize->new();
> my $p = $m->get($self);
> $p = $p->decoded_content;
> $m->max_redirect(1);
> my @Links = $m->links();
> my $w = 0;
> SWU: foreach my $link(@Links){
> my @a = split ("/", $link->url());
> if ($a[1] =~ m/dl/gi){
> print "OK!\n";
> my $c = $m->get("http://www.buscamp3.org"; . $link->url());
> print $fh $c->decoded_content;
> close $fh;
> $w = 1;
> }
> last SWU if ($w == 1);
> }
> undef $m;
> }
>
>
> open IN, $ARGV[0] or die;
>
> foreach (){
> print "Search for: " . $_ . "\n";
> my $a = parse($_);
> gd($a, $_);
> print "\n\n";
> }
>
> ___
> 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] print() on closed filehandle

2012-10-21 Por tôpico Aureliano Guedes

Ola monges.

Estou com problema para salvar arquivos *.mp3 recebidos via download.

Ao salvar a mensagem retornada é 'print () on closed filehandle FH at 
C:\User\AG\Desktop\mes.pl  line 31.'.

O sistema so retorna 'Invalid argument' quando uso o $!.

Então usei o autodie para ver o que me retornava:
"Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid 
argument' C:\User\AG\Desktop\mes.pl  line 19."

Enfim, não estou entendendo o erro retornado.

http://pastebin.com/qxCMLv1V

#!/usr/bin/env perl

use common::sense;
use WWW::Mechanize;
use autodie;


sub parse {
my ($self) = shift;
$self =~ s/\s+/\+/g;
chomp $self;
print "Now --> " . $self . "\n\n";
return ("http://www.buscamp3.org/busca/"; . $self);
}

sub gd {
my ($self, $name) = @_;
print $self . " == " . $name . "\n\n";
open my $fh,">". $name . ".mp3";
my $m = WWW::Mechanize->new();
my $p = $m->get($self);
$p = $p->decoded_content;
$m->max_redirect(1);
my @Links = $m->links();
my $w = 0;
SWU: foreach my $link(@Links){
my @a = split ("/", $link->url());
if ($a[1] =~ m/dl/gi){
print "OK!\n";
my $c = $m->get("http://www.buscamp3.org"; . $link->url());
print $fh $c->decoded_content;
close $fh;
$w = 1;
}
last SWU if ($w == 1);
}
undef $m;
}


open IN, $ARGV[0] or die;

foreach (){
print "Search for: " . $_ . "\n";
my $a = parse($_);
gd($a, $_);
print "\n\n";
}
  ___
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.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3,





[3] 
http://www.buscamp3.org/dl/3473

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+Do.mp3,





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





]}

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=~/\\.mp3$/]),'url[]' => '@href';}->scrape($url, $url);






ABS()




2012/10/19 Aureliano Guedes 










Parece interessante mesmo, mas difici