[Moscow.pm] Mojo::DOM

Nick Knutov mail на knutov.com
Пт Май 11 00:44:12 PDT 2012


Я, видимо, не понимаю, как это использовать. Мне кажется, что я должен 
делать вот так:

say $_->find('div.some-id a')->text(0);
say $_->find('div.some-id a')->attrs('href');

А получается
Can't locate object method "text" via package "Mojo::Collection" at 
./test.pl line 17.

11.05.2012 3:25, Jury Gorky написал:
> href: http://search.cpan.org/~sri/Mojolicious-2.94/lib/Mojo/DOM.pm#attrs
> text: таки text:
> http://search.cpan.org/~sri/Mojolicious-2.94/lib/Mojo/DOM.pm#text
>
> примеров в документации навалом
>
> 2012/5/11 Nick Knutov <mail на knutov.com <mailto:mail на knutov.com>>
>
>     Нашел чудесный модуль Mojo::DOM. Но в документации к нему явно не
>     хватает примеров.
>
>     #!/usr/bin/perl
>     use Mojo::UserAgent;
>     use Mojo::DOM;
>
>     my $ua  = Mojo::UserAgent->new;
>     my $dom = $ua->get('http://.../')->res->__dom;
>     $dom->find('div.item')->each(__sub {
>             say $_->find('div.some-id a');
>     });
>
>     И всё получается прекрасно. Но я хочу от найденного тега a получить
>     отдельно ссылку href и отдельно то, что внутри a, но исключая сам
>     открывающий и закрывающий тег a. И не понимаю.
>
>     При попытке использовать ->tree, ->text, ->href, которые я вроде бы
>     вижу, если смотреть на $_ через Data::Dumper, я получаю разные ошибки.
>
>     Ткните пожалуйста в пример/документацию. Желаемое, очевидно, можно
>     сделать просто регекспами, но хочется красоты.
>
>     --
>     Best Regards,
>     Nick Knutov
>     http://knutov.com
>     ICQ: 272873706
>     Voice: +7-904-84-23-130 <tel:%2B7-904-84-23-130>
>     --
>     Moscow.pm mailing list
>     moscow-pm на pm.org <mailto:moscow-pm на pm.org> | http://moscow.pm.org
>
>
>
>

-- 
Best Regards,
Nick Knutov
http://knutov.com
ICQ: 272873706
Voice: +7-904-84-23-130



Подробная информация о списке рассылки Moscow-pm