ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 다음 메인에서 뉴스부분만 긁어오기(php+snoopy)
    달을파는아이 2008. 5. 2. 09:30

    로또번호를 긁어오는것에 이어 이번엔 다음 메인 뉴스를 긁어보자.

    [php+snoopy] 나눔로또에서 로또번호 긁어오기

    [강좌] php용 강력하면서 쉬운 소켓(socket)클래스 , Snoopy


    다음은 file,fopen 함수를 사용하면 긁어올수가 없다. 접근을 못하게 막아놓은것같다. 하지만 우리에겐 강력한 snoopy가 있다. 스누피야 달려가서 다음물어오렴~


    기본적인 방법은 로또번호를 긁어올때랑 똑같다. 다른점은 뉴스부분만 떼내는 작업이다.

    먼저 아래와같이 다음의 메인 페이지를 가져온다.

    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만 만들어서 붙인다면 다음과는 완전히 다른 모양으로 뉴스를 보여줄수 있기 때문이다.

    여튼 위와 같은 간단한 방법으로 네이버뉴스,네이트뉴스도 가져오는게 가능하다. 기술적으로는 가능하지만 법적으로는 문제가 될 소지가 많다 .따라서 너무 과도한 사용은 자제하는게 좋을것같다.


    원하시는 사이트에서 원하는 내용만 긁어 드립니다.
    파격적인 가격 !! 페이지당 5만원

    원하시는 사이트에서 원하는 내용만 주기적으로 긁어서 db에 넣어드리거나 rss로 만들어 드립니다. FTP만 열어 주시면 됩니다.  작업기간은 사이트 난이도에 따라서 가격이나 시간은 차이가 날수 있습니다.
    원하시는 분은 으로 메일 주세요~ ^^  좀 도와주십쇼

    댓글

달을파는아이 @ nalab.kr