2008년 3월 17일 월요일

rss 지원하지 않는 일반홈페이지의 내용을 rss로 만들기

일반 홈페이지를 rss 로 만드는 프로그램인 FEED43 이라는 사이트를 소개 합니다.

몇달 전에 수첩에 "일본 사이트 내용을 rss 로 뽑아낼수 있었으면 좋겠다" 라고 썼었는데, 내 입맛에 딱맞는 서비스가 이미 존재 하고 있었다니... >.< b  놀라워 놀라워

간단히 사용설명을 합니다. 제가 운영중인 "꿈속으로" 의 게시판 내용을 rss로 긁어보겠습니다.

1. Create own your feed 에 들어갑니다.
들어가면 알겠지만, 단계별로 내용을 넣기만하면 됩니다.

2.1단계에서는 사이트주소를 넣습니다. 게시판이 있는 주소를 넣으면 되겠죠?
http://insidedream.net/board/board.php?multi=dream

옆에 Encoding 에는 아무것도 안넣어도 되지만, 한글사이트는 대부분 euc-kr 이니 넣어 주세요

3. 2단계가 가장중요하고 애매하고 어려워 보이는 부분입니다.
사이트에서 긁어올 내용을 패턴으로 구분해서 생선 뼈를 발라 내듯이 내용을 발라 내는거죠..

{*} 이거랑 {%} 이거만 알면 됩니다.

{%} 는 실제로 긁어올 내용입니다.
{*} 는 쓸데없는 부분이라고나 할까? 그런 부분을 걸러낼때 사용합니다.


먼저 Global Search Pattern: 에는 {%} 를 넣습니다.
그리고 Item (repeatable) Search Pattern*: 에 뼈를 발라내 넣는거죠

http://insidedream.net/board/board.php?multi=dream 의 소스를 보면 , 게시판 부분에 반복되는 부분이 있습니다.

제목, 제목 링크 , 작성자, 히트수 .. 이런것들이죠
아래 순서로 변형해 주면 되겠습니다.

게시판 한줄의 원본 :
<tr onMouseOver=this.style.backgroundColor='#F5F5F5' onMouseOut=this.style.backgroundColor='' >
         <td width="30"><div align="center"><font size="2">
             5379              </font></div></td>
         <td><font size="2">
         <a href=board.php?bid=7116&multi=dream&page=&page2=&SHsubject=&SHcomment=&SHname=&SHword=&SHid=>반토막 게에게 물리는 꿈은</a><font size=1>[1]</font></font></td>

         <td width="90"><font size="2">
           <a href=board.php?multi=dream&page=0&page2=&SHsubject=&SHcomment=&SHname=&SHword=&SHid=holrim>천리향</a></font></td>
         <td width="30"><div align="center"><font size="1">
             06/27              </font></div></td>
         <td width="30"><div align="center"><font size="2">
             24              </font></div></td>
       </tr>


위 소스가 한줄이죠. 여기서 패턴을 찾아내는겁니다.

뼈발라내기 1단계 :
내용부분에 {%} 를 넣습니다.

<tr onMouseOver=this.style.backgroundColor='#F5F5F5' onMouseOut=this.style.backgroundColor='' >
         <td width="30"><div align="center"><font size="2">
             {%}            </font></div></td>
         <td><font size="2">
         <ahref={%}>{%}</a><font size=1>{%}</font></font></td>

         <td width="90"><font size="2">
           <ahref={%}>{%}</a></font></td>
         <td width="30"><div align="center"><font size="1">
           {%}             </font></div></td>
         <td width="30"><div align="center"><font size="2">
           {%}          </font></div></td>
       </tr>

뼈발라내기 2단계 :
쓸데없는 부분을 {*}로 바꿉니다.
주의 할점은 {%} 앞뒤로 소스내 다른곳에서는 찾아볼수 없는 특이한점은 남겨둬야 합니다.
그래야 , 정확하게 짤라내집니다.

<tr onMouseOver=this.style.backgroundColor='#F5F5F5' onMouseOut=this.style.backgroundColor='' >
       {*}<font size="2">
             {%}             </font>{*}
         <ahref={%}>{%}</a>{*}<ahref={%}>{%}</a>{*}<font size="1">
            {%}             </font>{*}<font size="2">
            {%}           </font>{*}
       </tr>



최종본 :
사실 rss 에서는 제목,링크,내용 이렇게 3개만 있어도 된다고 생각합니다.
그래서 쓸데없는건 또 줄입니다. 히트수나 날짜 머 이런건 필요없잖아요

<tr onMouseOver=this.style.backgroundColor='#F5F5F5' onMouseOut=this.style.backgroundColor='' >
{*}<font size="2">{%}</font>{*}
<a href="{%}">{%}</a>{*}
<a href="{%}">{%}</a>{*}</tr>


됬습니다. 이걸 Item (repeatable) Search Pattern*: 에 넣습니다.

4. 이제 마지막 3단계로 넘어 옵니다.
{%} 로 표시한부분은 순서대로 {%1} {%2} {%3} 이런식으로 값이 넘어오게 됩니다.

Item Title Template*: [?]

Item Link Template*: [?]

Item Content Template*: [?]


칸에 맞게 내용을 넣어줍니다.
여기서는 content 부분이 없기 때문에 생략합니다.

preview 한번 해보시고 정확하게 되면 완료 합니다.
생성 끝입니다. ^^


5. 4단계에서는 이 rss 피드의 이름을 바꾼다던지, 개인전용으로 만든다던지. .그런 기능을 추가할수 있습니다. ㅋㅋ

나온 주소를 insidedream 이라고 바꿔서
최종 주소는 http://feed43.com/insidedream.xml 이 되었습니다.

이걸 연모에서 "블러그 추가" 살짝 해주시면~ 되겠네요 ^^

흐흐흐.. 연모에 추가하고 싶었는데 못했던 카페와 사이트들 긁으로 갑니다요~



ps ) 일반 사이트 긁어 온거 모으고 있습니다. ^^ 댓글 남겨주세요~~~

ps ) 혹시 feed43에서 43이 무슨 의미인지 아시는분은 답글 부탁드림다~ ^^

참고 블러그 :
XML 비공개 이글루스 RSS 피드 만들기
피드 뽑아내는 설명 (영문)
RSS 뽑아내기 다른 설명 (영문)
XML 비공개 네이버 RSS 피드 만들기

댓글 1개:

moonv :

feed43 = feed for free
4(포)=for
3(뜨리)=free(프리)