2016-08-08 3 views
0

나는이 웹 사이트의 소스 코드를 가져오고 싶다 : https://www.splithistory.com/zsl/ 하지만 WWW :: Mechanize와 LWP :: Simple에 의해 시도했지만 오류가 발생했다 : JDK에서 발견 된 웹 사이트를 찾을 수 없다 : \ perl_project 나는이 웹 사이트에서 데이터를 가져올 때 \ demo_spli.pl 라인 (9) 하지만 :왜 펄에서 웹 사이트의 소스 코드를 가져올 수 없습니까?

: https://www.splithistory.com/aapl/ 이 작품을 좋아 ..... 여기

내 코드

#!/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); 

출력

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

소스 코드가 아니라 소스 코드입니다. – mob

답변

2
사이트가 HTTP 헤더 안에 "404 찾을 수 없음"을 반환하기 때문입니다

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

0. 웹 사이트가 오류를 반환하고 당신이 무엇을보고 있는지

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는 :: 기계화가 까악 까악합니다 : 성공적인 응답은 상태 코드 (200)를 가질 것이다. 어쨌든 데이터를 가져 오려면 다음을 사용하십시오.

eval { $mech->get($url); }; 
my $res = $mech->res(); 
$script = $res->content; 
관련 문제