2017-09-25 81 views
-1

我試圖使用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

回答

2

確定。所以你有一個使用Javascript構建內容的頁面。據推測,您已選擇使用WWW :: Mechanize :: Firefox而不是WWW :: Mechanize,因爲它包含對使用Javascript構建的頁面的支持。

但是,在創建Mechanize對象時,您明確地關閉了Javascript支持。

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

,因爲你還沒有告訴我們您所使用的網址我無法測試這個理論,但我敢打賭,如果更改了該行對你得到一個更好的結果:

$mech->allow(javascript => 1); 
相關問題