Я работаю над скриптом, чтобы извлечь кучу информации в один файл HTML. Однако у меня возникли трудности с извлечением ТОЛЬКО определенного набора ссылок с рассматриваемой страницы.
Вот примерная структура сайта. Между разделом внутреннего содержимого и тем, что я показываю ниже, есть несколько других заголовков и абзацев.
<div id="innercontent">
<h1>Download here</h1>
<a href="website.pdf"><img src="stuff"></a>
</div>
Теперь в идентификаторе div «внутреннее содержимое» найдено несколько ссылок, поэтому я ищу способ либо сопоставить строку, либо иным образом получить только те ссылки, которые мне нужны. Имейте в виду, что все ссылки, которые я хочу получить, будут в формате .pdf, так что, возможно, это может вам помочь. Я почти уверен, что TreeBuilder справится с этим, основываясь на проведенном мной исследовании. Вот два метода, которые я пытаюсь использовать. Я бы предпочел решить это, используя первый.
# link to pdf of transcript
for ( $mech->look_down(_tag => 'a') ) {
next unless $_->as_trimmed_text =~ m/pdf/;
say $_->as_HTML;
}
my @links = $mech->links();
for my $link ( @links ) {
print $link->url;
}
Я понимаю, что последний метод просто будет искать ссылки на всей странице, но я включаю его на тот случай, если этот метод более эффективен или если оба эти метода можно комбинировать.
Любая помощь или совет будут очень признательны!