[SP-pm] Extrair conteúdo HTML. WWW::Mechanize ?

breno breno at rio.pm.org
Wed Oct 15 06:36:51 PDT 2008


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');

    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


More information about the SaoPaulo-pm mailing list