RSS 피드를 직접 만들어 보자. Feed43 활용...
PC사랑 홈페이지의 포인트경매를 아시나요? 경매방식이 재미있고 제품들도 쓸만해서 제가 좋아하는 컨텐츠입니다. 예전에는 매일 홈페이지에 들어가서 경매가 어떻게 되어가는지 확인했지만, 이제는 RSS로 받아서 쉽게 확인하고 있습니다. Feed43을 이용하지요.
Feed43에 대해 소개한 글들을 보면 어떻게 RSS를 만드는지 자세하게 나와있지 않아 참 힘들었습니다. 이번도 2시간의 삽질을 거쳐 간신히 RSS 피드를 만들었습니다. 2시간동안 삽질했더니 이제 어느정도 알겠더군요. 그래서 제가 어떻게 PC사랑의 포인트경매 RSS 피드를 만들었는지 알려드리겠습니다.
Step 1.

먼저, 포인트경매의 웹페이지의 URL 주소를 입력하여 HTML 소스를 불러옵니다. 그리고 RSS로 보고 싶은 부분을 찾습니다. 위 그림에 나오는 부분이죠.
이렇게 div 요소로 명확하게 구분되면 좋은데, 간혹 몇몇 웹사이트는 table로 덕지덕지 구성되어 있고 더구나 각 요소마다 태그가 조금씩 다르기도 합니다. 겉으로 보기엔 같은 계층의 내용인데, 하나는 br 요소로, 다른 건 p 요소로, 또 다른 건 hr 요소로 구분되어 있기도 했습니다. 이런 웹사이트는 과감히 포기해야지요(그래도 해보겠다고 3시간 삽질을 해봤습니다.).
Step 2.

두 번째 단계가 가장 어려운 부분입니다. 제가 참조한 글들은 대부분 {%} 요소가 2개더군요. 이러면 RSS에서 볼 수 있는 건 제목과 링크 주소 뿐입니다. 단지 새글이 있는지만 확인할 수 있죠. 하지만 제가 원하는 건 RSS로 경매에 대한 요약을 보는 것이었습니다. 단지 새로운 경매가 있는지 확인하는 게 아니었죠.
우선, 첫 번째 단계에서 찾은 부분의 소스를 복사해서 붙여넣습니다. 그리고 위 그림처러 링크 주소, 이미지 주소, 글 제목, 글 요약 등등을 "{%}"로 바꿉니다. "{%}"는 이 부분을 변수로 저정한다는 뜻입니다. Feed43은 HTML 소스에서 반복되는 형태를 읽어서 변수로 저장된 부분만을 RSS로 보여주죠.
그리고 "{*}"도 있습니다. 이건 반복되는 형태에서 조금씩 다른 내용이지만 RSS로 볼 필요가 없는 부분을 뜻합니다. "{*}"를 잘 활용해야 반복되는 형태를 컴퓨터가 찾을 수 있습니다. 하지만 지나치게 남용하면 어떤 부분이 반복되는지를 구분하지 못하지요. 가령,
{*}<a href="{%}"><img src="{%}" {*}
{*}<a href="{*}" {*}
<nobr>{%}</nobr>{*}
{*}>{%}<{*}
{*}>{%}<{*}
<nobr>{%}</nobr>
이렇게 하면 컴퓨터 뿐만 아니라 저도 못 알아보겠습니다. 저렇게 되어 있는 부분이 무수히 많을 수도 있고, 어쩌면 아예 없을 수도 있겠지요. HTML 소스가 div 요소로 구분되어 있다면, class 나 id 요소는 반드시 넣어줘야 합니다.
그런데 포인트경매의 경우는 조금 독특합니다. 세 번째 줄부터 class 이름은 적혔지만, "<div class="가 없는 것이 보일 겁니다. 이번의 경우는 이 요소를 넣을 경우 반복되는 부분을 컴퓨터가 못 찾는 결과가 나왔습니다. 이런 경우에는 요소 하나하나를 변경해서 어디서 문제가 생기는지 확인해주어야 합니다. 물론, 간단하게 제목과 링크 주소만 보고자 할 때는 대충 해도 됩니다. ㅋ

"Extract" 버튼을 누르면 반복되는 부분을 찾아서 보여주고 각 변수에 어떠한 값이 저장되는지도 알려줍니다. 정말 친절하네요. 음, 8개의 글이 검색되었습니다. 제가 딱 원하던 결과이네요.
Step 3.

이제는 변수를 이용하여 RSS에 보여지는 모습을 구성해야 합니다. 기본적으로 Item Title Templet에는 제목 변수를, Item Link Templet에는 링크 주소 변수를 적어줍니다. 변수 이름은 두 번째 단계에서 확인할 수 있죠. 그리고 Item Content Templet에 내용을 구성하는데, HTML 태그와 CSS를 이용할 수 있습니다.
전 그림을 왼쪽에, 나머지 요약을 오른쪽에 보이도록 했습니다(평소엔 코드를 저렇게 뒤죽박죽으로 짜지 않아요 ㅡㅡ;).
RSS에 나타나는 모습

제가 사용하는 불여우의 NewsFox에 RSS 피드를 등록하고 확인했습니다. 다소 투박하지만 원하는 내용을 정확히 보여주고 있습니다. 이젠 불편하게 직접 웹사이트에 접속할 필요가 없게 되었네요. 솔직히 제 컴퓨터 사양으로 일일이 접속하기 불편하거든요.
그리고 위 그림에서 왼쪽에 보이지만, 강컴 홈페이지도 이렇게 RSS 피드로 등록했습니다. 새로운 책이 발간되면 알 수 있도록 해놨지요.
Feed43을 이용하여 RSS 피드를 만드는 방법을 알려드렸는데 도움이 되었으면 좋겠습니다. 그리고 덧붙이자면, Feed43은 무료이용자에게는 6시간마다, 유료이용자에게는 1시간마다 글이 업데이트가 되도록 서비스하고 있습니다. 새글이 올라오는 간격이 무지 짧다면 유료로 사용하든가, 다른 서비스를 이용해야 합니다. 아무튼 이제는 RSS를 이용하여 조금 더 편하고 빠르게 정보를 얻으시길 바랍니다.
덧붙임
올블로그의 실시간 인기글을 RSS로 볼려고 시도했지만, 올블로그의 메인페이지가 다루는 데이터량이 무지 많더군요. Feed43은 데이터량에 대해서도 무료이용자에게 약간의 핸디캡을 주고 있습니다. 아무래도 다른 방법을 알아봐야 겠네요.
관련글
Feed43 활용. 게시판을 RSS로 구독하기 :: http://hisjournal.net/blog/150
"#1. 내 머리 속의 노트 / 그 외." 분류의 다른 글
| 마이크로 프로세서 프로그래밍 :: 주차 관리 시스템 (0) | 2009/06/20 |
| 7-Zip으로 포터블 파이어폭스 플러그인 설치하기 (0) | 2009/04/30 |
| 불여우 최신 버전에서 지원되지 않는 확장기능 설치하기 (6) | 2009/04/25 |
| 텍스트큐브 MT_Meta_RecentPS_Enhanced 플러그인 보완 (5) | 2009/02/13 |
| GTK+ :: C언어의 간편한 GUI 툴킷 (3) | 2009/02/10 |
| Feed43 활용. 게시판을 RSS로 구독하기 (0) | 2009/02/07 |
| 블로그를 번역해서 보여주세요. (2) | 2009/02/04 |
| Visual Basic :: Unload 문을 이용한 메모리 관리 (0) | 2008/12/11 |