使用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'); 
+4

当然这是因为你禁用JS。 – ikegami

确定。所以你有一个使用Javascript构建内容的页面。据推测,您已选择使用WWW :: Mechanize :: Firefox而不是WWW :: Mechanize,因为它包含对使用Javascript构建的页面的支持。

但是,在创建Mechanize对象时,您明确地关闭了Javascript支持。

$mech->allow(javascript => 0); 

,因为你还没有告诉我们您所使用的网址我无法测试这个理论,但我敢打赌,如果更改了该行对你得到一个更好的结果:

$mech->allow(javascript => 1);