[SP-pm] Extrair conteúdo HTML. WWW::Mechanize ?
Daniel de Oliveira Mantovani
daniel.oliveira.mantovani at gmail.com
Wed Oct 15 08:07:31 PDT 2008
#! /usr/bin/perl -w
use HTML::TreeBuilder;
use WWW::Mechanize;
use strict;
my $m = WWW::Mechanize->new();
$m->get('http://www.hgcinema.com.br/programacao/index.php'<http://www.hgcinema.com.br/programacao/index.php%27>
);
my $string = $m->content;
my $tree = HTML::TreeBuilder->new_from_content($string);
#print $tree->as_HTML;
my @filmes = $tree->look_down(_tag => 'tr',
bgcolor=>"#ffffff",sub{$_[0]->attr('onclick') ne ''});
print "\n\nFILME Censura Horario";
foreach(@filmes){
my @col = $_->look_down(_tag=>'td');
my ($filme,$censura,$horario) =
($col[0]->as_text,$col[1]->as_text,$col[2]->as_text);
print "\n$filme $censura $horario";
}
Vou ter que estudar aqui. = D
Muito obrigado André
não é um "erro", é um caso de erro. E se o seu get() do site não
funcionar? O site pode estar fora do ar, vc pode estar sem Internet...
considerar possíveis casos de erro é algo importante em programas,
pelo menos em programas sérios =)
Não sabia disso muito obrigado.
[]'s
2008/10/15 breno <breno em rio.pm.org>
> 2008/10/15 Daniel de Oliveira Mantovani <
> daniel.oliveira.mantovani em gmail.com>:
> > Obrigado Breno.
> >
> > Você pode trocar por algo como:
> >
> >
> > if ( $data->success() ) {
> > @filmes = $data->content() =~ m{<br><i>\((.+?)\)</i></td>}
> >>
> >> gs;
> >> }
> >
> >
> > Não funcionou não.
> >
>
> Estranho. Aqui eu fiz o seguinte programa-teste:
>
> [filmes.pl]
> --------------8<-----------------
> my @filmes = ();
> my $data = WWW::Mechanize->new();
> $data->get('http://www.hgcinema.com.br/programacao/index.php'<http://www.hgcinema.com.br/programacao/index.php%27>
> );
>
> if ( $data->success() ) {
> @filmes = $data->content() =~ m{<br><i>\((.+?)\)</i></td>}gs;
> }
>
> local $, = ", ";
> print @filmes;
> --------------8<-----------------
>
> > perl filmes.pl
> A Casa da M�e Joana, The House Bunny, A Guerra dos Rocha, The Mummy:
> Tomb of the Dragon Emperor, Righteous Kill, The Dark Knight, Bezerra
> de Menezes - O Di�rio de um Esp�rito, Taken, Chasseurs de Dragons,
> Eagle Eye, Blindness, Era uma vez..., Hellboy II: The Golden Army,
> Kung Fu Panda, Babylon A.D., The Women, Nights in Rodanthe, Fly Me To
> the Moon, Disaster Movie, You Don�t Mess With The Zohan
>
> ...que era o mesmo que a sua função retornava qdo rodei aqui. Talvez
> se vc mandar uma resposta um pouco menos críptica do que "Não
> funcionou não." eu possa te ajudar a depurar. Mas o André já enviou um
> exemplo com o TreeBuilder, dá uma olhada.
>
> > para vc lidar com o caso de erro no get() que vc faz na linha acima.
> >
> > Não achei o "erro" que você disse no get().
> >
>
> não é um "erro", é um caso de erro. E se o seu get() do site não
> funcionar? O site pode estar fora do ar, vc pode estar sem Internet...
> considerar possíveis casos de erro é algo importante em programas,
> pelo menos em programas sérios =)
>
> []s
>
> -b
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
--
print
"\x54\x68\x65\x20\x53\x69\x6c\x65\x6e\x74\x20\x47\x75\x61\x72\x64\x69\x61\x6e",$/
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20081015/33e28cf1/attachment-0001.html>
More information about the SaoPaulo-pm
mailing list