使用WWW下载网页:: Mechanize :: Firefox
问题描述:
我试图使用WWW::Mechanize::Firefox
来抓取网站,但每当我尝试获取数据时,它都显示JavaScript代码,我需要的数据不在那里。如果我检查Mozilla上的元素,我需要的数据就在那里。使用WWW下载网页:: Mechanize :: Firefox
这里是我当前的代码:
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
use WWW::Mechanize::Firefox;
my $mech = WWW::Mechanize::Firefox->new();
$mech->get('link_goes_here');
$mech->allow(javascript => 0);
$mech->content_encoding();
$mech->save_content('source.html');
答
确定。所以你有一个使用Javascript构建内容的页面。据推测,您已选择使用WWW :: Mechanize :: Firefox而不是WWW :: Mechanize,因为它包含对使用Javascript构建的页面的支持。
但是,在创建Mechanize对象时,您明确地关闭了Javascript支持。
$mech->allow(javascript => 0);
,因为你还没有告诉我们您所使用的网址我无法测试这个理论,但我敢打赌,如果更改了该行对你得到一个更好的结果:
$mech->allow(javascript => 1);
当然这是因为你禁用JS。 – ikegami