2007. 6. 29. 14:58

[프로그램] 갈쿠리 v1.0.1

변경된 부분


패턴이 한개만 등록되어 있을때 루프를 돌면서 문자열이 없을경우 루프를 중지할때


해당 결과 배열을 지워버리고 다음페이지를 처리하는 버그 수정


ex) 패턴 img,src,title 가 있을경우


img -> aaa

src -> bbb


값이 있으나 title 값이 없을경우

부정확한 값이므로 해당 결과배열 값을 지우고 리턴했으나


패턴이 한개만 등록되어 있을경우

결과적으로 마지막 값을 지워버리고 리턴하게 되있던 점을


패턴 배열(필드수)의 수와 결과배열의 필드수를 비교하여

다를경우 삭제하도록 수정

2007. 6. 29. 14:56

[프로그램] 갈쿠리 v1.0



<?php
간략 설명

$buf = new GalKuRi;  //객체생성

$buf->voidSetCookie(쿠키명,쿠키값); //쿠키설정

$buf->voidSetReferer(레퍼러); //레퍼러설정

$buf->voidSetPage(페이지변수명,외부함수,페이지번호); //페이지 처리 설정 외부함수는 한페이지후 결과를 처리하기 위해 설정

$buf->voidSetSleep(초); //한페이지 처리수 정지시간

$buf->voidSetPattern(필드명,시작문자,끝문자,[지울문자]); //파싱할 패턴 설정 시작문자와 끝문자 사이의 문자열을 배열로 저장

$buf->voidSetSkipOffset(필드명,찾을문자); //파싱후 패턴에 넣은 문자와 동일한 문자가 있어서 방해될경우 그문자까지 오프셋을 뛰어 넘음

$buf->voidParsePage(주소,[메소드],[포트]); //파싱시작

#

# 파싱된 데이타를 처리하는 방법

#

$buf->parse_value 배열을 처리하면 됨

#

# voidSetPage('page','func',1) 에서 외부 함수를 설정했을경우

# 한페이지 처리시는 괜찬으나 페이지가 많으면 배열이 많이 늘어나니

# 페이지가 많을 경우에는 외부 함수 사용을 추천

#

function func(&$val) {

  $val 결과배열 처리

}

-----------------------------------------------------------------------------

#

# 참고

# 단순히 전체페이지 내용을 원할경우(voidSetPattern 불필요)

#

$buf = new GalKuRi;

$buf->voidSetCookie(쿠키명,쿠키값);

$buf->voidSetReferer(레퍼러);

$buf->voidGetAllContents(주소,[메소드],[포트]);

echo $buf->response_header; //헤더값

echo $buf->contents; //전체내용
?>