-1

我有下面的代码,应该单击并转到带有文本的每个链接...发生的事情是$l保留字母 A,并收集 A 26x 的页面...有什么想法吗?

my $mech = WWW::Mechanize->new();
$mech->get($info->website);

my $te = HTML::TableExtract->new();
my @abc = ("A" .. "Z");

foreach my $letter (@abc){

$mech->find_link(text => $letter);
$mech->follow_link(text => $letter);

$content = $mech->content();

$te->parse($content);

$table = $te->first_table_found;

$str .= Dumper $table;

$mech->back();
}
4

2 回答 2

0

跟随链接后,您必须返回原始页面才能使所有链接再次可用。只需添加

$mech->back;

到循环结束。

于 2012-10-26T20:09:03.773 回答
0

问题是 HTMLTableExtract 没有获取新数据。将 TE 初始化移动到循环中 $te->parse($content) 正在覆盖它已经拥有的内容。

于 2012-10-26T20:04:38.177 回答