-1

我正在尝试使用 抓取网站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');
4

1 回答 1

3

好的。因此,您有一个使用 Javascript 构建其内容的页面。您可能选择使用 WWW::Mechanize::Firefox 而不是 WWW::Mechanize,因为它支持渲染使用 Javascript 构建的页面。

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

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

我无法测试这个理论,因为您没有告诉我们您使用的是哪个 URL,但我敢打赌,如果您将该行更改为:

$mech->allow( javascript => 1 );
于 2017-09-26T09:05:04.993 回答