Как я могу найти определенный фрагмент веб-страницы с помощью MOJO :: Dom?

#perl #mojo-dom

#perl #mojo-dom

Вопрос:

Ниже я поместил выдержку со страницы IMDb, я намеренно сделал ее короткой. Моя конечная цель — получить 2 ссылки. Но я даже не могу понять, как получить конкретный div с идентификатором. Потому что, очевидно, приведенный ниже класс разбросан по всей странице. Я Погуглил, ища пример с использованием class и id, но все еще не могу найти решение.

p.s. Единственная причина, по которой у меня есть Dumper, заключается в том, что когда я его запускаю, я сразу вижу, почему у меня его до сих пор нет.

     my $ua = Mojo::UserAgent->new( max_redirects=>3, timeout => 30 );
    my $dom = $ua->get($newrip)->result->dom;
    
    my $module_list = $dom->find('div.article');
    print Dumper $module_list;
    exit;



                        <div class="article" id="titleDetails">
                            <span class=rightcornerlink>
                                <a href="/register/login?why=editamp;ref_=tt_dt_dt" rel="login">Edit</a>
                            </span>
                            <h2>Details</h2>
                            <div class="txt-block">
                                <h4 class="inline">Official Sites:</h4>
                                <a href="/offsite/?page-action=offsite-facebookamp;token=BCYtlGRCvvzcjTOrSRBQqjTPuEUBGkxbnkfQjRYZi0XJxm-A-A4vf0mzJF5WqH6HYLt2TZCuVR7c
209QQMCwUe-51EwtDDYbNczYCnFRIRzctUhoXJCF2gsQJw6m050sV9g0sTJJEfiGP37rfeIIoXMS
Cfj2qgUNCaL2YaP_FeWVGCg39Bw-3dRsP5cB1Wk9FfobPd5tG8Q4WjVbUR2pTOvE0Pkc5QUK5E7U
X7O9awNb0Kw
amp;ref_=tt_pdt_ofs_offsite_0"

rel="nofollow">Official Facebook</a>

                                <span class="ghost">|</span>

                                <a href="/offsite/?page-action=offsite-upheamp;token=BCYp_aZBofVk38VkRssgAyKsF6hpxed35fbTVV8UlILwujLNjtFs2jVedrKeAqxUjICHsNP4JDb6
bL8Kmal9v2xFtXeROzfpKNd_XK78SUE6Cw7zJEoHxf9Ad6Cg2bzVOYY8FK26b5cQS2-Rk3oYF3zH
F0eXIUjmsj6NPfx_Tc5BoWZU-8nwSJptfgT4OqUPlYMhxtdzjFjaXgWHNLt0uV9sf3Zuz50I9GFo
dEv_xXgUbfo
amp;ref_=tt_pdt_ofs_offsite_1" rel="nofollow">Official site</a>
                                <span class="see-more inline"></span>
                            </div>
 

Комментарии:

1. мои $ anchor_tags = $dom-> find(‘div.article a’); мои $ anchor_hrefs = $anchor_tags-> map(attr => ‘href’); Для идентификатора вы можете написать — $ dom-> find(‘div#titleDetails a’); Всякий раз, когда мне нужен примердля Mojo: DOM я смотрю на — perl.com/article/143/2015/1/8 /…

2. @Maverick Спасибо за эту ссылку, это та, которую я изучал. Кажется, у меня в голове не укладывается, как объединить два поиска. т.е. Класс и Заголовок, а затем найти все в этом подразделе. Mojo определенно намного мощнее, чем WWW ::Mechanize, но это заставляет меня зацикливаться