我是Perl的新人。我的一个朋友请我给他写一个程序,可以在他最喜欢的船上搜索特定的广告出售网站。这是一个非常方便的小程序,允许用户在多个网站上搜索特定广告。
以下是它的工作原理。我将网页加载到临时文件中并搜索匹配的广告并返回结果。它大部分时间都可以正常工作,但我注意到有些网站不会加载,我不知道为什么。
这是加载页面并将其存储为临时文件的脚本:
use LWP::UserAgent;
use HTTP::Response;
use URI::Heuristic;
unless (defined ($content = get ($URL) )) { print "could not get $URL <br>"; }
open (DATABASE, ">$web_page_file");
print DATABASE "$content";
close (DATABASE);
#
我已成功在很多网站上运行它并且运行正常。但最近,2个网站将无法加载。它是:
http://www.sailboatlistings.com
我有两个问题:
A)你能告诉我这两个网站的脚本有什么问题吗?
B)更重要的是,是否有一个诊断工具可以告诉我问题是什么(对于未来的问题网站)?
答案 0 :(得分:1)
您发布的示例对我来说根本不起作用,并且您没有准确说明您提供的两个示例无法正常工作,因此调试样本很困难。下面的工作,我认为是一个更清洁的方式来获得你正在寻找的东西:
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
my $URL = 'http://www.yourboatsite.com';
my $mech = WWW::Mechanize->new(); #Autocheck defaults to ON to check for success.
$mech->get($URL); # Use :content_file option to auto-write to a file.
print $mech->content();
您也可能希望将条目标记为perl而不是mod-perl,因为它不是mod_perl问题。