使用的是 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, 求解。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/120329
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.