我想从页面中提取所有链接。我正在使用HTML:LinkExtor
。如何仅提取指向HTML内容页面的所有链接?
我也无法提取这些链接:
javascript:openpopup('http://www.admissions.college.harvard.edu/financial_aid/index.html'),
编辑:HTML页面 - text / html。我没有索引图片等。
答案 0 :(得分:2)
是的,HTML :: LinkExtor不懂javascript。实际上,你很可能会得到识别javascript中嵌入的URL的任何,因为这通常需要运行实际的代码。
答案 1 :(得分:1)
Perl将有很多方法可以通过蛮力来做到这一点。您可以使用Push / Pull Parser在标签之间跳转。您可能只是啜饮整个页面并通过它来获取链接或JavaScript中的链接。
你看过WWW::Mechanize::Plugin::JavaScript了吗? WWW::Mechanize模块是一个web botting最好的朋友(不是你想要的机器人)。我之前使用过这个模块,可以说它是CPAN上最好的Perl模块之一。
这是CPAN的一个例子: 将命名变量设置为给定值
$m->plugin('JavaScript')->set(
'document', 'location', 'href' => 'http://www.perl.org/');
答案 2 :(得分:0)
我会使用WWW::Mechanize进行大多数链接收集。除此之外,我会做自己的匹配:
my @links = $content =~ m`javascript:openpopup\('([^\']+)'`g;