웹
코드이그나이터 에서 파싱 셋팅하기.
krfreedevlife
2017. 9. 18. 01:16
반응형
snoopy 최신버전 다운받기 링크 -->
경로 /application/libraries/Snoopy.php 화일을 업로드 해줍니다.
Snoopy.php 화일에서
코드이그나이터에서 사용되도록 설정을 해줍니다.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
그후 /Scheduler/에서 실행될 화일을 추가합니다
//먼저 보통 라이브러리를 불러올때처럼 스누피 클래스를 불러와줍니다.
$this->load->library('Snoopy');
//함수 사용법도 일반 라이브러리와 같습니다.
$this->snoopy->fetch('http://hoai.kr');
//변수에 접근하는것도 같습니다.
$this->snoopy->results;
<?php //스누피 클래스를 불러오고 초기화 해줍니다 include('Snoopy.php'); $snoopy = new Snoopy; //wink.ws의 초기화면 uri입니다 //로그인 하지 않는다면 로그인 화면이 나오겠죠 $uri = 'http://cpanel.wink.ws/index#'; //로그인 정보를 저장할 배열 auth를 만듭니다 //배열의 key는 해당 폼에서 넘겨줄 name이 되겠습니다 $auth['email'] = '계정아이디'; $auth['password'] = '계정암호'; //스누피의 submit함수로 폼정보를 넘겨줍시다 $snoopy->submit($uri,$auth); //로그인에 관련하여 쿠키를 사용하는 경우가 있으니 쿠키정보를 저장해둡니다 $snoopy->setcookies(); //이제 로그인 정보를 가지고 있으니 다시 uri로 접속해봅시다 $snoopy->fetch($uri); //그리고 정규식을 이용해서 해당 엘리먼트를 뽑아옵니다 preg_match('/<table id="account-information">(.*?)<\/table>/is', $snoopy->results, $result); //마지막으로 결과를 출력하구요 echo '<table id="info">'.$result[1].'</table>'; ?>
<?php //Snoopy.class.php를 불러옵니다 require($_SERVER['DOCUMENT_ROOT'].'/디렉토리/Snoopy.class.php'); //스누피를 생성해줍시다 $snoopy = new Snoopy; //스누피의 fetch함수로 제 웹페이지를 긁어볼까요? :) $snoopy->fetch('http://dovetail.tistory.com/38'); //결과는 $snoopy->results에 저장되어 있습니다 //preg_match 정규식을 사용해서 이제 본문인 article 요소만을 추출해보도록 하죠 preg_match('/<div class="article">(.*?)<\/div>/is', $snoopy->results, $text); //이제 결과를 보면...? echo $text[1]; ?>
반응형