1

我正在尝试自动提取在网站上找到的成绩单。由于该网站在描述列表中对采访进行了格式化,因此可以在 dl 标记之间找到整个成绩单。下面的脚本允许我搜索站点并以纯文本格式提取文本,但我实际上正在寻找它以包含 dl 标签之间的所有内容,即 dd、dt 等。这将使我们能够为面试开发我们自己的 CSS。

关于该页面需要注意的是,在采访过程中的不同点插入了中断语句。我们发现一些使用配对从网页中提取信息的工具发现这是一个问题,因为它只在 break 语句之前抓取信息。如果您向我指出不同的方向,请记住一些事情。这是我到目前为止所拥有的。

#!/usr/bin/perl -w

use strict;
use WWW::Mechanize;
use WWW::Mechanize::TreeBuilder;

my $mech = WWW::Mechanize->new();
WWW::Mechanize::TreeBuilder->meta->apply($mech);
$mech->get("http://millercenter.org/president/clinton/oralhistory/madeleine-k-albright");

# find all <dl> tags
my @list = $mech->find('dl');

foreach ( @list ) {
print $_->as_text();
}

如果有一个工具可以打印我所拥有的,只是这次是 HTML,请告诉我!

4

1 回答 1

3

您的代码很好,只需将as_text()方法更改为as_HTML(),它将显示包含 HTML 标记的内容。

于 2015-09-01T17:46:36.793 回答