문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
develop:perl:lwp [2007/03/19 19:01] starlits 새로 만듬 |
develop:perl:lwp [2007/03/19 19:05] starlits |
||
---|---|---|---|
줄 28: | 줄 28: | ||
- 웹페이지의 링크를 돌아다니면서 원하는 정보를 얻기 ( 이것을 robot 이라고 한다 ) | - 웹페이지의 링크를 돌아다니면서 원하는 정보를 얻기 ( 이것을 robot 이라고 한다 ) | ||
- 등등 | - 등등 | ||
+ | |||
==== LWP 기본예제 ==== | ==== LWP 기본예제 ==== | ||
이제 Perl과 LWP모듈의 최신 버젼이 설치 되어있다는 가정하에 URL의 문서를 가져와서 출력하는 예제부터 시작하겠다. | 이제 Perl과 LWP모듈의 최신 버젼이 설치 되어있다는 가정하에 URL의 문서를 가져와서 출력하는 예제부터 시작하겠다. | ||
- | * 다음은 LWP모듈의 버젼을 확인하는 방법을 보인 것이다. < | + | * 다음은 LWP모듈의 버젼을 확인하는 방법을 보인 것이다. < |
use LWP; | use LWP; | ||
print "This is libwww-perl-$LWP:: | print "This is libwww-perl-$LWP:: | ||
줄 48: | 줄 49: | ||
get함수가 성공하면 웹문서의 내용을 리턴된고 실패한다면 undef를 리턴한다. | get함수가 성공하면 웹문서의 내용을 리턴된고 실패한다면 undef를 리턴한다. | ||
- | 다음 예제를 보자. < | + | 다음 예제를 보자. < |
use LWP:: | use LWP:: | ||
$html = get( " | $html = get( " | ||
줄 90: | 줄 91: | ||
특정 URL의 웹문서를 자신의 PC(또는 서버)에 파일로 동기화 해서 유지하고 싶다면 다음처럼 짧은 스크립트를 하나 만들고 스케줄러에 등록하면 된다. | 특정 URL의 웹문서를 자신의 PC(또는 서버)에 파일로 동기화 해서 유지하고 싶다면 다음처럼 짧은 스크립트를 하나 만들고 스케줄러에 등록하면 된다. | ||
- | < | + | < |
use LWP:: | use LWP:: | ||
mirror( | mirror( | ||
줄 109: | 줄 110: | ||
일단은 HTTP:: | 일단은 HTTP:: | ||
- | < | + | < |
use LWP 5.65; | use LWP 5.65; | ||
줄 137: | 줄 138: | ||
그리고 위 예제에서 LWP:: | 그리고 위 예제에서 LWP:: | ||
- | < | + | < |
use LWP 5.65; | use LWP 5.65; | ||
줄 170: | 줄 171: | ||
앞의 예제에서 보았던 get메서드에 다음 처럼 헤더 key와 value를 추가 할 수 있다. %headers는 헤더의 key와 value의 리스트이다. | 앞의 예제에서 보았던 get메서드에 다음 처럼 헤더 key와 value를 추가 할 수 있다. %headers는 헤더의 key와 value의 리스트이다. | ||
- | < | + | < |
다음은 우리가 만든 가상 부라우져가 마치 Netscape 처럼 보이게 하기 위해 헤더를 추가한 예제이다. | 다음은 우리가 만든 가상 부라우져가 마치 Netscape 처럼 보이게 하기 위해 헤더를 추가한 예제이다. | ||
- | < | + | < |
%headers = ( | %headers = ( | ||
' | ' | ||
줄 187: | 줄 188: | ||
물론 %headers 해쉬를 사용하지 않고 직접 get메서드에 넣어 줄 수도 있다. | 물론 %headers 해쉬를 사용하지 않고 직접 get메서드에 넣어 줄 수도 있다. | ||
- | < | + | < |
$response = $browser-> | $response = $browser-> | ||
' | ' | ||
줄 205: | 줄 206: | ||
Google과 같은 검색엔진에서 검색창에 단어를 치고 엔터를 누르면 URL창에 다음과 같이 나타나는것을 볼 수 있다. | Google과 같은 검색엔진에서 검색창에 단어를 치고 엔터를 누르면 URL창에 다음과 같이 나타나는것을 볼 수 있다. | ||
- | < | + | < |
폼에 q라는 Key와 perlmania라는 value가 URL에 추가된 형태이다. 다음의 코드를 보자. | 폼에 q라는 Key와 perlmania라는 value가 URL에 추가된 형태이다. 다음의 코드를 보자. | ||
- | < | + | < |
use URI; | use URI; | ||
$url = URI-> | $url = URI-> | ||
줄 223: | 줄 224: | ||
POST방식의 요청헤더는 URI같은 별도의 모듈없이 put메서드로 만들 수 있다. | POST방식의 요청헤더는 URI같은 별도의 모듈없이 put메서드로 만들 수 있다. | ||
- | < | + | < |
$response = $browser-> | $response = $browser-> | ||
[ | [ | ||
줄 239: | 줄 240: | ||
다음처럼 빈 메모리를 cookie_jar에세 줄 수 있다. | 다음처럼 빈 메모리를 cookie_jar에세 줄 수 있다. | ||
- | < | + | < |
파일에 쿠키의 정보를 기록해 둔다면 프로그램이 종료되어도 쿠키의 정보는 파일에 남아있을 것이다. 다음처럼 cookie_jar를 설정할 수 있다. | 파일에 쿠키의 정보를 기록해 둔다면 프로그램이 종료되어도 쿠키의 정보는 파일에 남아있을 것이다. 다음처럼 cookie_jar를 설정할 수 있다. | ||
- | < | + | < |
줄 252: | 줄 253: | ||
===== Robot의 작성 ===== | ===== Robot의 작성 ===== | ||
- | < | + | < |
use LWP:: | use LWP:: | ||
$browser = LWP:: | $browser = LWP:: | ||
줄 261: | 줄 262: | ||
===== 웹문서의 링크체크 스크립트 ===== | ===== 웹문서의 링크체크 스크립트 ===== | ||
- | < | + | < |
use LWP; | use LWP; | ||
줄 299: | 줄 300: | ||
LWP:: | LWP:: | ||
- | < | + | < |
use LWP:: | use LWP:: | ||
use HTML:: | use HTML:: |