본문 바로가기
Programming

snoopy를 이용한 게시판 긁어오기

by 막이 2015. 6. 4.

snoopy를 이용한 게시판 긁어오기


프로젝트 고도화건으로 인해 PHP를 하게되었다. 프로젝트 내용은 이렇다. 특정 사이트들의 게시판을 긁어와서 날짜순으로 정렬한 다음 DB에 저장하고 API호출을 이용해 클라이언트단에서 보여줘야한다. 


▲그냥 스누피


첫번째, 게시판을 RSS로 변환하자

각 사이트마다 html 구문이 다르기 때문에 뭔가 효율적인 방법을 찾아야했다. 그러다가 우연히 RSS를 제공하지 않은 게시판 형식의 글을 RSS로 만들어 주는 사이트를 발견했다. http://feed43.com 

와우! RSS는 xml로 표현되기 때문에 파싱도 쉽겠다. RSS로 변환만 해주면 차후 추가되는 사이트들 등록도 쉽게 할 수 있을 것 같다. RSS변환하는 방법은 나중에 포스팅 해야겠다. Html 파싱은 변수가 너무 많다. 태그만 바껴도 다시 보수해야 하는 등 사이트에 의존적이기 때문에 불안하다.


두번째, RSS를 긁어오자

그리고 snoopy 클래스를 이용하여 생성한 RSS를 긁어오는 방법이다. 일단 긁어오는 것 자체는 굉장히 간단하다. 일단 스누피 클래스를 다운받아야 한다. http://sourceforge.net/projects/snoopy/

다운받은 후 개발중인 소스코드가 있는 곳에 압축을 풀어준다. 


소스코드

<?php


include_once 'Snoopy.class.php';

$snoopy = new snoopy;

$snoopy->fetch("http://feed43.com/6760077818736876.xml");

$txt = $snoopy->results;

print_r($txt);


?>


일단 코드 자체는 굉장히 심플하다. 일단 긁어오는 건 성공이다. 이제 특정부분만 긁어와서 DB에 저장 하는 일이 남았다. URL도 한개가 아니기 때문에 for문 돌려서 여러개를 받아와야 한다. 날짜순으로 정렬도 해야 하고, 후.. 차근차근 해보자