2011-02-13 247 views
0

我在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.babord.ca

http://www.sailboatlistings.com

我有2個問題:

A)你能告訴我什麼是錯的我與這兩個網站的腳本?

B)更重要的是,有沒有一種診斷工具可以告訴我問題是什麼(針對未來的問題網站)?

回答

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的問題。

+0

你好吉姆,什麼不工作很簡單。該網頁無法打開。我會嘗試你的代碼並讓你知道。謝謝,伊夫 – Yex 2011-03-09 16:04:41