使用的是 Mojo::UserAgent, 用来爬取某网站的用户回答列表,但是爬取时会随机在某网页停止,显示
"Can't call method "all_text" on an undefined value at core.pl line 188."
实现如下,
sub get_keyword_list {
my ($ua, @list, $keyword) = @_;
foreach my $l (@list) {
my $tx = $ua->get($l->[0]);
say $l->[0];
# what should it be?
my $answer = $tx->res->dom->at('div.zm-editable-content.clearfix')->all_text;
my $timestamp = $tx->res->dom->at('a.answer-date-link.meta-item')->text;
open my ($tmp), '>>', 'tmp.txt' or die;
say $tmp $answer;
say $tmp $timestamp;
}
}
其中 $l->[0] 取到列表中各网页 url, 类似如下形式: http://www.zhihu.com/question/20304733/answer/25775012
为什么会出现错误,无法理解ing, 求解。
"Can't call method "all_text" on an undefined value at core.pl line 188."
实现如下,
sub get_keyword_list {
my ($ua, @list, $keyword) = @_;
foreach my $l (@list) {
my $tx = $ua->get($l->[0]);
say $l->[0];
# what should it be?
my $answer = $tx->res->dom->at('div.zm-editable-content.clearfix')->all_text;
my $timestamp = $tx->res->dom->at('a.answer-date-link.meta-item')->text;
open my ($tmp), '>>', 'tmp.txt' or die;
say $tmp $answer;
say $tmp $timestamp;
}
}
其中 $l->[0] 取到列表中各网页 url, 类似如下形式: http://www.zhihu.com/question/20304733/answer/25775012
为什么会出现错误,无法理解ing, 求解。