[SP-pm] dúvida HTML::TreeBuilder

jimmy jimmy.tty at gmail.com
Thu Aug 20 06:46:06 PDT 2009


On Thu, Aug 20, 2009 at 09:47:40AM -0300, Eden Cardim wrote:
> 2009/8/20 jimmy <jimmy.tty em gmail.com>:
> > agradeço a reposta, já me deixou claro que às vezes não será possível
> > escapar de expressões regulares ao fazer o parser do html.
> > eu só escrevia parses baseados em regex eu gostaria de usá-las o mínimo
> > possível uma vez que o módulo se propõe a deixar a análise mais simples.
> >
> > eu estou tentando desenvolver um parser com o HTML::TreeBuilder desde o
> > último ES, ainda não consegui desenvolver nada que fosse mais simples
> > que usar somente regex nesse caso, a quantidade de laços e desvios que
> > estou usando é muito grande. não posso postar o site aqui, mas outros
> > problemas que tiver vou postar aqui na lista.
> 
> ARGH, procura nos arquivos da lista e você vai ver em TODOS os posts
> relacionados a HTML: NUNCA USE REGEX PRA PARSEAR HTML. Regexes não
> foram feitas com esse propósito.
sim, acho que li todos os posts antigos relacionados.
por hora estou achando mais complicado trabalhar com o módulo,
mas deve ser problema de adaptação.

só por curiosidade, antes de começar a usar perl, eu usava o gnu sed
para fazer parser, mas as páginas eram simples, bem estruturadas e em
pequena quantidade; o perl oferecia uma forma mais fácil de continuar
fazendo parser usando apenas regex; acompanhando a lista eu estou
aprendendo aos poucos formas melhores de trabalhar.

> 
> O Daniel quase acertou na solução:
> 
> my $look_td = $tree_page->look_down(_tag => 'td',class => 'info');
> 
> my $codigo;
> for ($look_td ->content_list) {
>   $codigo = $_, last unless ref;
> }
com esse exemplo sem regex consegui adaptar para o meu caso e continuar
não usando regex, grato dica.

> 
> croak "Não achou código" unless $codigo;
> 
> -- 
>    Eden Cardim       Need help with your Catalyst or DBIx::Class project?
>   Code Monkey                    http://www.shadowcat.co.uk/catalyst/
>  Shadowcat Systems Ltd.  Want a managed development or deployment platform?
> http://edenc.vox.com/            http://www.shadowcat.co.uk/servers/
> _______________________________________________


More information about the SaoPaulo-pm mailing list