提问人:ostapv 提问时间:8/26/2015 最后编辑:toolicostapv 更新时间:8/27/2015 访问量:125
如何使用 HTML::P arser 解析内容
How to parse content with HTML::Parser
问:
我有具有不同 URL 的网页。
我创建了脚本来通过Perl模块从页面获取URL。WWW::Mechanize
my @links = $mech->find_all_links( text_regex => qr/client_update/i );
foreach (@links) {
push (@new_arr, $_->url() ,"\n");
}
现在我应该只得到灰色的 URL,检查带有属性和值的标签名称:
<td class="highlight-grey" data-highlight-colour="**grey**"><a href="http://cache.download.it/download/soker/client_update.php">cache.download.it/download/soker/client_update.php</a></td>
顺便说一句,我无法为我的任务安装像“HTML::TreeBuilder”这样的模块。
答:
0赞
ostapv
8/27/2015
#1
Have found solution:
my $webpage = {
username => 'xx',
password => 'xx',
url => 'xx',
form_name => 'loginform',
regex => qr/data-highlight-colour="grey"><a\s+href="/xsm,
};
my @links = $mech->find_all_links(text_regex => qr/client_update_urls/i);
my @raw_content = $mech->response()->content();
my @prod_urls;
foreach my $line (@raw_content) {
foreach my $link (@links) {
my $url = $link->url();
if ($line !~ /$webpage->{regex}$url/xsm) {
push @prod_urls, $url;
}
}
}
for (@prod_urls) {print "$_\n"}
评论