[Cascavel-pm] [Spam] LWP - Separando blocos de código html

André Garcia Carneiro andre.garcia.carneir em terra.com.br
Sexta Junho 29 12:00:09 PDT 2007


Você precisa mesmo usar LWP?

Por que não tenta WWW::Mechanize ???


> Amigos, resolvi me aventurar um pouco no módulo LWP, estou fazendo um programa que lê um conteúdo de uma url
e procura nesta as tags para as chamadas que me interessam, porém de início me pintou uma dúvida como faço pra
percorrer linha a linha os dados recebidos?
> 
>         use LWP::UserAgent;
>         my $ua = LWP::UserAgent->new;
>         $ua->timeout(10);
>         $ua->env_proxy;
>         my $response = $ua->get('http://ledio.globolog.com.br/');
>         $content =  $response->content;

>          ($post) =~ ($content =~ /<!-- CONTEUDO DO POST -->(.*?)<!-- LINKS PARA COMENTARIO E PERMALINK -->/sg);

A treta está nesse match. Reveja o padrão que você está procurando, porque provavelmente ele não existe. Não
tive tempo de checar isso. Mas o programa está gerando dados em $content.

Se estiver duvidando é só printar $content ou usar Data::Dumper.

Fora isso sugiro que você faça: use strict; Tem variável aí sem declaração.

editei o seu código...

<code>
use strict;
use warnings;
use Data::Dumper;
use LWP::UserAgent;
        my $ua = LWP::UserAgent->new;
        $ua->timeout(10);
        $ua->env_proxy;
        my $response = $ua->get('http://ledio.globolog.com.br/');
        my $content = $response->content;
        (my $post) =~ ($content =~ /<!-- CONTEUDO DO POST 

-->(.*?)<!-- LINKS PARA COMENTARIO E PERMALINK -->/sg); #Esse padrão provavelmente não existe em $content...


open FILE, ">dumper.dat" or die $!;
print FILE $content;
close FILE;

</code>


Espero que isso ajude.


>           
>     Porém não estou conseguindo receber os valores com este código, alguém faz idéia? O código pode ser mais
simples ?
> Alguém pode me ajudar ?
> 
> Alex


Você pode usar WWW::Mechanize. Ele tem métodos específicos par extrair tags.

RTFM em search.cpan.org

Muitas pessoas já disseram isso várias vezes por aqui. A não ser que seja por mera curiosidade( o que é
louvável), você não precisa de LWP. 


Cheers!


--
André Garcia Carneiro
Developer(Perl/PHP)
Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org



Mais detalhes sobre a lista de discussão Cascavel-pm