2012-09-27 24 views
0

使用HTML :: TreeBuilder-> new_from_url()想要去一個網站說https://abc.com/index.html,並希望顯示該HTML頁面的一些值。HTML :: TreeBuilder-> new_from_url()in perl not working

https://abc.com/index.html要求用戶認證(test/test123是用戶名和密碼)。我用下面的代碼:文件名:finaldisplay.pl

#!/usr/bin/perl 

    use HTML::TreeBuilder; 
    use HTML::Entities; 


    my $url = "http://test:[email protected]:8080/index.html"; 
    my $tree = HTML::TreeBuilder->new_from_url($url); 

    $tree->elementify; 

    for my $post($tree->look_down(_tag => q{tr}, 'class' => 'row-odd' )) { 

my $disk_value; 
my $name = $post->look_down(_tag => q{td}, 'class' => 'stats_left'); 
    my $data = $name->as_trimmed_text; 


if($data =~ /Home Directory/){ 
$disk_value = $post->look_down(_tag => q{td}, 'class' => 'stats_right')->as_trimmed_text; 
print STDERR "$data : $disk_value\n"; 
} 
elsif($data =~ /Disk Space Usage/){ 
$disk_value = $post->look_down(_tag => q{td}, 'class' => 'stats_right'); 
$disk_value = ($disk_value->content_list)[0]; 

$disk_value = encode_entities($disk_value); 

print STDERR "$data : $disk_value\n"; 
} 

} 

for my $post($tree->look_down(_tag => q{tr}, 'class' => 'row-even' )) { 

my ($disk_value, $disk); 

my $name = $post->look_down(_tag => q{td}, 'class' => 'stats_left'); 
    my $data = $name->as_trimmed_text; 

    if($data =~ /Main Domain/){ 
$disk = $post->look_down(_tag => q{td}, 'class' => 'stats_right'); 
$disk_value = $post->look_down(_tag => q{b})->as_trimmed_text; 
print STDERR "$data : $disk_value\n"; 
} 

} 

當我從命令行中運行該文件得到錯誤「無法找到自動/ HTML/TreeBuilder作爲/ new_from_ur.al在@INC(@INC包含:C:/ Per l/lib C:/ Perl/site/lib。)at finaldisplay.pl line 8「

+0

是否安裝了HTML :: TreeBuilder包? – jpstrube

+0

@Jan Strube:是的,它已安裝。使用我本地系統中的new_from_file()成功執行文件。 – Cindrella

+0

您是否擁有最新版本的HTML :: TreeBuilder,並安裝了LWP :: UserAgent? – jpstrube

回答

1

首先檢查模塊HTML::TreeBuilder的最新版本。 嘗試從cpan安裝。

cpan -i HTML::TreeBuilder

+0

錯誤。 cpan僅從最新版本的HTML :: TreeBuilder中提取文件。但是沒有成功安裝 – Cindrella

+0

「但是沒有成功安裝」?它給了什麼錯誤? –

+0

錯誤:使測試返回不良狀態,不會強制安裝。甚至試過迫使安裝command.It正在安裝。但是安裝的版本仍然顯示3.13版本 – Cindrella