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문 돌려서 여러개를 받아와야 한다. 날짜순으로 정렬도 해야 하고, 후.. 차근차근 해보자
'IT > PHP + Mysql' 카테고리의 다른 글
윈도우서버 CPU 100% 원인 (0) | 2015.11.04 |
---|---|
mysql where 서브쿼리 사용하기 (0) | 2015.09.03 |
[php] 문자열에서 숫자만 추출하기 (0) | 2015.05.06 |
phpmyadmin auto_increment 초기화 (1) | 2014.12.29 |
[php] mysql 연동하여 join, where 쿼리 사용하기 (0) | 2014.11.27 |
PHP date 형식 변환 함수 (0) | 2014.10.24 |