使用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「
是否安裝了HTML :: TreeBuilder包? – jpstrube
@Jan Strube:是的,它已安裝。使用我本地系統中的new_from_file()成功執行文件。 – Cindrella
您是否擁有最新版本的HTML :: TreeBuilder,並安裝了LWP :: UserAgent? – jpstrube