【发布时间】:2012-04-01 02:17:00
【问题描述】:
所以我正在使用 Windows 7 和 Xampp 运行 localhost 测试服务器。我正在开发一个可以抓取网络的网络爬虫,但是当我在浏览器中打开它时,我得到了脚本头错误的过早结束。我以为我是从不包括“print”Content-Type:text/html\n\n“;”中得到这个的这通常是问题..但不是。
这是我正在使用的代码:
#!"\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);来查看确切的错误消息,在这里。 -
我将它添加到使用列表中,它仍然给我同样的错误。