티스토리 뷰
로그인해야 하는 페이지의 경우.. 쿠키든.. 세션이든.. 파일로 떨어뜨려 놓구..
사용하니 편하다.. 로그인폼의 경우 수정하는경우가 거의 없으므로.. 시간 단축도 되고..
쓸만하다. 다만 파라미터 값을 일일히 찾아줘야 하므로 좀 귀찮기는 하지만.. -_-;;
테스트결과.. http, https 등.. 다 된다.
역시 PHP는 메뉴얼을 뒤적거리면 다 있다.. -_-;;
##### 기본 변수들 #####
### 스크랩할 곳 ID,PW
$id = "test";
$pw = "test";
### 스크랩해올 페이지
$GETURL="절대경로?파라미터값들"; // 스크래핑할 페이지 경로
$LOGINURL = "절대경로"; //LOGIN PROCESS 경로
### $GETURL에 붙어서 넘어갈 파라미터
$POSTFIELDS = "id=$id&pwd=$pw";
###### Cookie File Function ######
function AUTH_SITE_COOKIE_STORE($LOGINURL,$POSTFIELDS)
{
$parseURL = parse_url($LOGINURL);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"$LOGINURL");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "$POSTFIELDS");
curl_setopt($ch, CURLOPT_COOKIEJAR, "경로".$parseURL[host].cookie);
//curl_setopt($ch, CURLOPT_COOKIEFILE, "경로".$parseURL[host].cookie);
ob_start();
curl_exec ($ch);
ob_end_clean();
curl_close ($ch);
return $parseURL[host].cookie;
}
AUTH_SITE_COOKIE_STORE($LOGINURL,$POSTFIELDS);
// 위의 Function을 실행시켜.. 쿠키파일을 떨어뜨리면 된다..
// 한번만 떨어뜨려 놓구.. 아래 Function에 떨어뜨려놓은 파일로 계속 사용.
###### Scrapping Function ######
function AUTH_SITE_GET($GETURL,$cookieFile)
{
$parseURL = parse_url($GETURL);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 1 );
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$POSTFIELDS);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT,100); // REQUEST 에 대한 결과값을 받는 시간타임 설정
curl_setopt($ch, CURLOPT_COOKIEJAR, "경로".$parseURL[host].cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, "$cookieFile"); // 쿠키파일
curl_setopt($ch, CURLOPT_URL,"$GETURL");
$result = curl_exec ($ch);
curl_close ($ch);
// 스크랩파일 떨어뜨리기
$fp = fopen ("경로/test.html", "w");
fwrite($fp,$result);
fclose ($fp);
return $result;
}
echo $result = AUTH_SITE_GET($GETURL,"쿠키파일 절대경로및 파일명".$cookieFile);
[출처] CURL 사용할때..|작성자 신쥐
'기억하자정보 > 기타' 카테고리의 다른 글
리눅스 에서 문자열 치환하기 (0) | 2012.07.26 |
---|---|
리눅스 파일 내부 문자열 교체 (0) | 2012.07.26 |
메모리 DC를 이용한 더블 버퍼링 (0) | 2007.04.11 |
[펌]리눅스 명령어 팁 (2) | 2007.02.02 |
Von Neumann & Harvard Architecture (0) | 2006.12.18 |
- 안내
- 궁금한 점을 댓글로 남겨주시면 답변해 드립니다.