PHP & Others

스누피로 로그인하기(웹호스팅 트래픽정보 긁어오기)

페이지 정보

본문

출처 : http://dovetail.tistory.com/39


snoopy 클래스로 로그인하기

스누피 클래스에 대한 기본적인 사용법은 전에 다룬적이 있습니다. 기본적인 설치법과 사용법은 여기에서 확인할 수 있습니다. 스누피는 그 자체로 강력한 툴이지만 가끔 원하는 페이지를 크롤링하기 위해서는 먼저 로그인이 필요한 경우가 있죠. 이럴때 submit 함수를 사용합니다.

wink.ws 웹호스팅 트래픽정보 긁어오기

이번 예제에서는 wink.ws의 트래픽 사용정보를 가져와볼까요?

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

효과는 뛰어났다!!

Status

Domain: xxxxxxxxx.wink.ws
IP Address: xxx.xxx.xxx.xxx
Username: uxxxxxxxxx
Password: ••••••••••
Disk Usage: xxx.xx / Unlimited MB
Bandwidth: xxx.xx / 100 MB
Home Root: /home/uxxxxxxxxx
Server Name: serverxx.wink.ws
Server IP: xxx.xxx.xxx.xxx
Server Load: xx.xx
MySQL Server Load: xx.xx
Apache Version: Apache/2.2.17
PHP Version: 5.4
MySQL Version: 5.1.58
Activated: 20xx-xx-xx xx:xx:xx
Status: Active
Hosting Plan: Free
Feature Set: Default

관련자료

등록된 댓글이 없습니다.
Today's proverb
“무릇 물이란 지세를 따라 흐르되 작은 틈도 놓치지 않고 적시니 지혜를 갖춘 자와 같고, 움직이면서 아래로 흘러가니 예를 갖춘 자와 같으며, 어떤 깊은 곳도 머뭇거리지 않고 들어가니 용기를 가진 자와 같고 장애물이 막혀서 갇히면 고요히 맑아지니 천명을 아는 자와 같으며, 험한 곳을 거쳐 멀리 흐르지만 끝내 남을 허물어뜨리는 법이 없으니 덕을 가진 자와 같다. 천지는 이것으로 이루어지고, 만물은 이것으로 살아가며, 나라는 이것으로 안녕을 얻고, 만사는 이것으로 평안해지며, 만물은 이것으로 바르게 되는 것이다. 이것이 지혜로운 자가 물을 좋아하는 이유이다.” (한영, <<한시외전>>)