使用WWW :: Mechanize :: Firefox下载网页

时间:2017-09-25 20:42:24

标签: perl web-scraping www-mechanize-firefox

我试图使用WWW::Mechanize::Firefox抓取网站,但每当我尝试获取数据时,它都会显示JavaScript代码,而我需要的数据不存在。如果我检查Mozilla上的元素,我需要的数据就在那里。

这是我目前的代码:

#!/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');

1 个答案:

答案 0 :(得分:3)

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

然而,在创建Mechanize对象时,您明确关闭了Javascript支持。

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

我无法测试这个理论,因为您还没有告诉我们您使用的是哪个网址,但我敢打赌,如果您将该行更改为以下内容,您会获得更好的结果:

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