include '_lib/class.snoopy.php';
$snoopy=new snoopy;
$snoopy->fetch("http://www.daum.net");
다음의 메인페이지에서 소스보기를 해서 , 뉴스가 시작하는 부분과 끝나는 부분이 어떻게 되는지 잘 살펴본다. 다른 부분과 구별이 될수 있는 요소를 찾아내야한다.
현재 다음메인의 뉴스는 위와 같다. 소스보기를 해서 잘보면 뉴스부분이 <!-- // schWrap --> 로 시작해서 <!-- // ctsWrap --> 로 끝나는것을 발견할수 있다. 즉, <!-- // schWrap --> 이 윗부분을 없애고 , <!-- // ctsWrap --> 아래부분을 없애면 뉴스만 남게 된다는 말이다.
$t=explode("<!-- // ctsWrap -->",$snoopy->results);
$r=explode("<!-- // schWrap -->",$t[0]);
이로써 $r에는 뉴스만 남게 되었다.
echo $r;
을 해보면 뉴스가 나오는것을 확인할수 있다.
전체 소스는 아래와같다.
<?
include '_lib/class.snoopy.php';
$snoopy=new snoopy;
$snoopy->fetch("http://www.daum.net");
$t=explode("<!-- // ctsWrap -->",$snoopy->results);
$r=explode("<!-- // schWrap -->",$t[0]);
echo $r[1];
?>
그런데 프로그램을 실행시켜보면 , 다음처럼 이쁘게 나오는것이 아니라 그냥 쭉 뿌려주는 모양으로 나온다. 이것은 다음의 CSS가 적용이 안된 상태이기 때문이다. 다음 페이지의 소스보기를 해서 CSS 부분을 붙여 넣어줘야 한다. CSS 부분과 더불어 javascript 부분도 같이 넣어줘야한다. 그래야 다음메인 뉴스와 똑같은 모양으로 볼수가 있다. 하지만 , 오히려 저렇게 나오는게 써먹기에는 더 좋을수도 있다. CSS만 만들어서 붙인다면 다음과는 완전히 다른 모양으로 뉴스를 보여줄수 있기 때문이다.
여튼 위와 같은 간단한 방법으로 네이버뉴스,네이트뉴스도 가져오는게 가능하다. 기술적으로는 가능하지만 법적으로는 문제가 될 소지가 많다 .따라서 너무 과도한 사용은 자제하는게 좋을것같다.
ex
<?
include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->fetchtext("http://www.changupnet.go.kr/ikedPT/bmsIknewsBoardList.do?boardNo=53&prgNo=86");
//print $snoopy->results;
$snoopy=new snoopy;
$snoopy->fetch("http://www.changupnet.go.kr/ikedPT/bmsIknewsBoardList.do?boardNo=53&prgNo=86");
$txt = $snoopy->results;
$ex = explode("<!-- --------- -->",$txt);
$test = explode("<!-- -------- -->",$ex[1]);
echo $test[0];
?>
'Technologic' 카테고리의 다른 글
| 아이튠즈 - Apple Lossless 공개화로 좋아지는 아이튠즈 음원들!!! (0) | 2012/01/19 |
|---|---|
| 작고 가벼운 last.fm Scrolling Tool: iSproggler (0) | 2012/01/19 |
| 알프레드 (Alfred) 론처를 키보드로 친구되기.... (0) | 2012/01/19 |
| 지금 1Password 40% Off Sale!!! (0) | 2012/01/19 |
| 음악정리: 음질 낮은 음원은 온라인으로 이동 시키자! (0) | 2012/01/19 |
| 청소년 보호프로그램입니다. (0) | 2012/01/18 |
| [PHP] 웹페이지의 필요한 내용만 가져오는 클래스 (게시판 긁어오기) (0) | 2012/01/15 |
| Snoopy.class.php를 이용한 원하는 url 주소의 원하는 내용 가져오기 (0) | 2012/01/15 |
| 캠타시아 (0) | 2012/01/13 |
| 원격 데스크톱 멀티세션 패치 (0) | 2012/01/12 |
| 동적으로 다른 웹페이지를 DIV의 innerHTML 속성의 값으로 추가하는 방법 (0) | 2012/01/11 |