大量の情報を 1 つの HTML ファイルに抽出するスクリプトを作成しています。ただし、問題のページから特定のリンクのセットのみを抽出するのに苦労しています。
サイトの大まかな構成はこちら。innercontent div と以下に示す内容の間には、他にもいくつかの見出しと段落があります。
<div id="innercontent">
<h1>Download here</h1>
<a href="website.pdf"><img src="stuff"></a>
</div>
現在、div ID「innercontent」に複数のリンクが見つかっているため、文字列に一致させるか、必要なリンクのみを取得する方法を探しています。私が取得しようとしているリンクはすべて .pdf であることを覚えておいてください。私が行った調査に基づいて、TreeBuilder がこれを処理できると確信しています。私が試している2つの方法を紹介します。最初のものを使用して解決したいと思います。
# 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;
}
後者の方法はページ全体でリンクを検索するだけだと思いますが、その方法がより効率的である場合、またはこれらの方法の両方を組み合わせることができる場合に備えて、後者の方法を含めています.
どんな助けやアドバイスも大歓迎です!