[Rio-pm] Mojolicious - Duvidas

Manoel Domingues Junior manoel.domingues.junior em gmail.com
Quinta Abril 12 13:50:24 PDT 2012


Entendi...

Vou fazer uns testes e retorno para vocês.

Abraços,

2012/4/12 Stanislaw Pusep <creaktive em gmail.com>

> Manoel, você também pode usar o Web::Scraper (
> https://metacpan.org/module/Web::Scraper), que faz o scraping e já
> carrega os dados em uma estrutura hierárquica:
>
> use Data::Printer;
> use URI;
> use Web::Scraper;
>
> my $r = scraper {
>     process q(//head/title),
>         title => 'text';
>     process q(//h1|//h2|//h3),
>         q(heading[]) => 'text';
> }->scrape(
>     URI->new(qw(http://mojolicio.us/perldoc))
> );
>
> p $r;
>
> Resultado:
>
> \ {
>     heading   [
>         [0] "TABLE OF CONTENTS",
>         [1] "NAME",
>         [2] "DON'T PANIC!",
>         [3] "LEARNING PERL",
>         [4] "TUTORIAL",
>         [5] "GUIDES",
>         [6] "HIGHLIGHTS",
>         [7] "MORE"
>     ],
>     title   "Mojolicious::Guides - Mojolicious guide to the galaxy"
> }
>
> ABS()
>
>
>
> On Thu, Apr 12, 2012 at 15:11, Manoel Domingues Junior <
> manoel.domingues.junior em gmail.com> wrote:
>
>> Olá pessoal,
>>
>> Estou tentando montar um crawller, mas estou empacado.
>>
>> No meu maior problema está sendo em como fazer para pegar o conteúdo que
>> aparece ao lado de Heading e colocá-lo em uma varíavel.
>>
>>   use Mojo::UserAgent;
>>
>>   # Fetch web site
>>   my $ua = Mojo::UserAgent->new;
>>   my $tx = $ua->get('mojolicio.us/perldoc');
>>
>>   # Extract title
>>   say 'Title: ', $tx->res->dom->at('head > title')->text;
>>
>>   # Extract headings
>>   $tx->res->dom('h1, h2, h3')->each(sub {
>>     say 'Heading: ', shift->all_text;
>>   });
>>
>>
>> Executando esse código (ele está na página do Mojolicious) teremos:
>>
>> Title: Mojolicious::Guides - Mojolicious guide to the galaxy
>> Heading: TABLE OF CONTENTS
>> Heading: NAME
>> Heading: DON'T PANIC!
>> Heading: LEARNING PERL
>> Heading: TUTORIAL
>> Heading: GUIDES
>> Heading: HIGHLIGHTS
>> Heading: MORE
>>
>> O que não estou conseguindo fazer é colocar, por exemplo, o "TABLE OF
>> CONTENTS" dentro de uma variável. Ou seja, não estou entendo o
>> funcionamento do shift...
>>
>>
>>
>> Abraços,
>> --
>> --
>> Manoel Domingues Junior
>> "Coletar dados é o primeiro passo para a sabedoria, mas compartilhar
>> dados é o primeiro passo para a comunidade."
>> IBM - Prodigy Linux
>>
>>
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
--
Manoel Domingues Junior
"Coletar dados é o primeiro passo para a sabedoria, mas compartilhar dados
é o primeiro passo para a comunidade."
IBM - Prodigy Linux
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20120412/1456ab6c/attachment-0001.html>


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