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문 돌려서 여러개를 받아와야 한다. 날짜순으로 정렬도 해야 하고, 후.. 차근차근 해보자
'Programming' 카테고리의 다른 글
javascript ajax 크로스 도메인 요청 하기 (CORS) (0) | 2017.04.13 |
---|---|
Eclipse 에서 SVN 수정된 파일 표시하기 (0) | 2016.01.27 |
네이버 지식쇼핑 파싱하기 : 아이템 가격정보, 이미지 링크 등 (0) | 2015.06.04 |
인텔리J 시작하기 Part1~Part4 (0) | 2015.05.21 |
개발자 경력 관리에 대해서.. (1) | 2015.05.07 |