티스토리 뷰

코드이그나이터 에서 파싱 셋팅하기.

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];
?>




반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함