因此,我使用Windows 7和Xampp運行本地主機測試服務器。我正在研究抓取網頁的網絡抓取工具,但是當我在瀏覽器中打開它時,我得到腳本頭文件的提前結束錯誤。我以爲我得到這個不包括「打印」內容類型:文本/ HTML \ n \ n「;」這通常是問題..但事實並非如此。Perl「腳本頭文件過早結束」錯誤
這是我使用的代碼:
#!"\xampp\perl\bin\perl.exe"
print "Content-Type: text/html\n\n";
use strict;
use warnings;
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Request;
use HTTP::Response;
use HTML::LinkExtor;
open my $file1,"+>>", ("links.txt");
select($file1);
my @urls = ('http://www.youtube.com/');
my $browser = LWP::UserAgent->new('IE 6');
$browser->timeout(10);
while (@urls) {
my $url = shift @urls;
my $request = HTTP::Request->new(GET => $URL);
my $response = $browser->request($request);
if ($response->is_error()) {printf "%s\n", $response->status_line;}
my $contents = $response->content();
my ($page_parser) = HTML::LinkExtor->new(undef, $url);
$page_parser->parse($contents)->eof;
@links = $page_parser->links;
foreach $link (@links) {
push @urls, $$link[2]; # Add link to list of urls before printing it
print "$$link[2]\n";
}
sleep 60;
}
您可以隨時嘗試使用'use CGI :: Carp qw(fatalsToBrowser);'在腳本的頂部附近查看確切的錯誤消息是什麼,在這裏。 – summea 2012-04-01 02:20:05
我將其添加到使用列表中,它仍然給我提供了同樣的錯誤。 – 2012-04-01 02:22:33
從[堆棧溢出Perl常見問題](http://stackoverflow.com/questions/tagged/perl?sort=faq):[我如何解決我的Perl CGI腳本?](http://stackoverflow.com/questions/2165022 /何燦我解決的,我的,Perl的CGI腳本) – daxim 2012-04-01 07:39:45