2016-08-08 3 views
0

私はこのウェブサイトのソースコードを取得したい: https://www.splithistory.com/zsl/ しかし、それはエラーを与える、私はWWW :: MechanizeとLWP :: Simpleによってそれを試したが、私は次のようなエラーが出た:エラーGETing WebはJ:\ perl_project \ demo_spli.pl線9 が、私はこのウェブサイトからデータを取得しよう: https://www.splithistory.com/aapl/ を、それがうまく動作.....ここなぜ私はperlのウェブサイトからソースコードを取得できないのですか?

は私のコード

#!/usr/bin/perl 
#!perl -w 
use DBI; 
use strict; 
use WWW::Mechanize; 
my $mech= WWW::Mechanize->new(); 
my $url= 'https://www.splithistory.com/zsl/'; 
$mech -> get($url); 
my $script = $mech -> content; 
open (MYFILE, '>sd.txt'); #open file in write mode 
print MYFILE $script;  #copy source code of website in file 
close(MYFILE); 

出力されます:

サイトには、HTTPヘッダー内の "404が見つかりません" を返すためです0
Error GETing https://www.splithistory.com/zsl/: Not Found at J:\perl_project\demo_spli.pl line 9. 
+0

あなたは、ソースコードではなく、ソースコードについて話していますが、そうですか? – mob

答えて

2

Error GETing https://www.splithistory.com/zsl/: Not Found at J:\perl_project\demo_spli.pl line 9.

。ウェブサイトがエラーを返し、それはあなたが見るものだ場合

HTTP/1.1 404 Not Found 
Date: Mon, 08 Aug 2016 18:50:46 GMT 
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/1.0.2h mod_jk/1.2.40 mod_perl/2.0.9 Perl/v5.8.9 
Transfer-Encoding: chunked 
Content-Type: text/html; charset=ISO-8859-1

WWW :: Mechanizeのははcroakします:正常な応答は、ステータスコード200を持っているでしょう。とにかくデータを取得するには:

eval { $mech->get($url); }; 
my $res = $mech->res(); 
$script = $res->content; 
関連する問題