【发布时间】:2015-12-07 05:24:32
【问题描述】:
我正在编写一个脚本来将一堆信息提取到一个 HTML 文件中。但是,我在从相关页面中仅提取一组特定链接时遇到了一些困难。
这是网站的粗略结构。在 innercontent div 和我在下面显示的内容之间还有一些其他的标题和段落。
<div id="innercontent">
<h1>Download here</h1>
<a href="website.pdf"><img src="stuff"></a>
</div>
现在在 div ID“innercontent”中找到了多个链接,因此我正在寻找一种方法来匹配字符串或仅获取我想要的链接。请记住,我要获取的所有链接都是 .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;
}
我知道后一种方法只是在整个页面中搜索链接,但我将其包括在内是为了以防该方法更有效,或者这两种方法可以结合使用。
任何帮助或建议将不胜感激!
【问题讨论】:
标签: perl mechanize www-mechanize html-content-extraction html-treebuilder