[SP-pm] Retirar conteúdo de Tabela

Daniel de Oliveira Mantovani daniel.oliveira.mantovani at gmail.com
Mon Jan 19 17:12:43 PST 2009


Isso mesmo Márcio!

2009/1/19 Márcio Vitor <cromo.jml em gmail.com>

> Daniel, vou bicar feio mas acho que você tá querendo algo assim:
>
> my $url = $tree_cidade->look_down(_tag => 'a')->attr('href');
>
> Márcio Vitor
>
> 2009/1/18 Daniel de Oliveira Mantovani <
> daniel.oliveira.mantovani em gmail.com>
>
> Olá pessoal, o André me ensinou uma maneira muito divertida de retirar
>> conteúdo com HTML::TreeBuilder.
>>
>> Ele ensinou a pegar os atributos com attr(), por exemplo pegar o <a href="
>> http://pegar_isso_aqui.com"> usaria $a->attr('href').
>>
>> Desse jeito funciona perfeitamente:
>> <code>
>>   my @cidades = $tree_page->look_down(_tag => 'li');
>>   foreach my $cidade (@cidades) {
>>      my $html = $cidade->as_HTML;
>>      my $tree_cidade = HTML::TreeBuilder->new_from_content($html);
>>      $tree_cidade->look_down(_tag => 'a');
>>      $tree_cidade->as_HTML =~ m{href="(.+?)"};
>>      push(@estados,"$1/bairros") if $1 !~ m{cidade};
>> </code>
>>
>> Porém do jeito que seria o correto não funciona:
>>
>> <code>
>>   my @cidades = $tree_page->look_down(_tag => 'li');
>>   foreach my $cidade (@cidades) {
>>      my $html = $cidade->as_HTML;
>>      my $tree_cidade = HTML::TreeBuilder->new_from_content($html);
>>      $tree_cidade->look_down(_tag => 'a');
>>      my $url = $tree_cidade->attr('href');
>> *39 *push(@estados,"$url/bairros") if $url !~ m{cidade};
>> </code>
>>
>> Da o seguinte erro:
>> <erro>
>> Use of uninitialized value $url in concatenation (.) or string at
>> vcvai-0.01.pl line 39.
>> </erro>
>>
>> Se eu tento dar um print "$url\n"; da o mesmo erro na linha do print.
>>
>> Tentei de várioas maneiras e nada!
>>
>> []'s
>>
>>
>>
>> 2008/11/28 Nelson Ferraz <nferraz em gmail.com>
>>
>> Muito boa explicacão, André.
>>>
>>> Que tal colocá-la no wiki, pra facilitar a nossa vida mais tarde?
>>> (Para nós e para outras pessoas :))
>>>
>>> Sugiro colocá-lo na forma de uma Receita:
>>>
>>> ---
>>>
>>>    Título: Como fazer parsing de HTML
>>>
>>>    Problema: você precisa extrair informacões de um arquivo HTML
>>>
>>>    Solucão: use HTML::TreeBuilder
>>>
>>>    Discussão: (explicacão acima)
>>>
>>> ---
>>>
>>> Você pode usar este link para publicar uma nova receita:
>>>
>>> - http://www.perl.org.br/bin/viewauth/Artigos/WebReceitaForm
>>>
>>> []s
>>>
>>> Nelson
>>>
>>> --
>>> Nelson Ferraz
>>>
>>> Free Software Foundation Associate Member #3203
>>> Projeto Software Livre Brasil (www.softwarelivre.org.br)
>>> Sociedade Perl do Brasil (www.perl.org.br)
>>> Rede Livre de Compartilhamento de Cultura Digital
>>> _______________________________________________
>>> SaoPaulo-pm mailing list
>>> SaoPaulo-pm em pm.org
>>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>>
>>
>>
>>
>> --
>> http://mantovanihouse.blogspot.com/
>>
>> -------(\_------------_/)-----------
>> -------)--(----------)--(-----------
>> ------(----(---------)----)----------
>> -------)----(-------)----(-----------
>> -------(----(-------)----)-----------
>> --------\_-(\\.---.//)-_/------------
>> ----------\)' -8--8- '(/--------------
>> -----------/------------\---------------
>> ----------(--)--------(--)--------------
>> ------------(_c__c_)----------------
>> ----------------------------------------
>>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
>
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
http://mantovanihouse.blogspot.com/

-------(\_------------_/)-----------
-------)--(----------)--(-----------
------(----(---------)----)----------
-------)----(-------)----(-----------
-------(----(-------)----)-----------
--------\_-(\\.---.//)-_/------------
----------\)' -8--8- '(/--------------
-----------/------------\---------------
----------(--)--------(--)--------------
------------(_c__c_)----------------
----------------------------------------
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20090119/07f0eb01/attachment.html>


More information about the SaoPaulo-pm mailing list