자신의 웹사이트를 rss 지원하게 만드는 방법?

armada의 이미지

음.. 요새 많은 포탈 사이트들이

xml로 웹사이트의 데이터를 만들어주는 기능을 추가시키더군요

궁금해서 찾아보니까

아파치의 모듈중 하나 인것 같기도 하구요..

그냥 검색으로는 어떻게 rss 지원하게 만드는지

모르겠네요...

매우 궁금합니다..

그러고보니 여기에도 XML 버튼이 있네요.

어디서 정보를 찾으면 되는지.. 팁이나 그런것들을 알고 싶습니다!

redbaron의 이미지

절대적이지는 아니지만 Storage 라고 부를만한 것이 있을 것이고..

그것을 핸들링 할만한 언어로 사이트가 구성이 되어 있겠지요.

거기에 마춰서 RSS 생성기를 찾으시면 될듯합니다.

RSS 표준에 마추어서 출력되는 코드를 작성하셔도 되고..

구종회의 이미지

저도 오늘 비슷한 경우로 자료를 찾아 보았는데요...
아래 사이트에서 답을 찾을 수 있었습니다.

http://blogs.law.harvard.edu/tech/rss

XML 헤더 써주고,
몇가지 기본 사항 쓰고,
보여주고 싶은 내용을 몇가지 태그로 감싸주고...
그러면 되더군요.

sjpark의 이미지

전 XML을 모릅니다만,

XML 보니 형식이 있더군요

<desciprtion>
<title>
<author>등의 키워드가요

물론 처음 <?XML부분은 다른 곳에서 폼나는 것을 갈취 했구요.

해당 키워드에 맞게 나의 홈에서 만들 정보를 넣어주면 되더군요

다른곳에서 잘 읽어가구요

참고로 XML 개념이 없어서,

해당 키워드에 맞게 모두 정규식으로 때웠습니다. (읽을때요) 후훗..

컴퓨터야 좀 고생스럽지만, 무식한 주인 만나 별수 있겄나요..ㅎㅎ

neocoin의 이미지

검색 엔진에서

rss specification 해서 스펙을 찾으신후

원하시는 수준으로 구현해주시면 간단합니다.

angpoo의 이미지

며칠전에 rss페이지를 하나 만들었는데
그냥 적절한 rss xml 페이지를 받아다 -kdlp랑 조선일보 걸 참조했습니다.-
그냥 그대로 맞춰쓰니 바로 되더군요.

신경쓴게 있다면
시간을 date("D, d M Y H:i:s +0900")포맷으로 해서
<lastBuildDate>
header("Last-Modified: ..."); 두군데 써주니 rss reader panel, rss bandit에서 잘 나옵니다.

rss.php

<?
  include 'Template_.class.php';
  $tpl = new Template_;
  $tpl->define('rss', 'rss.tpl'); 

  $rsslist  = array();
  나름데로 DB 읽기;
  적절한 루프() {
    $rsslist[] = array('title' => XX, 'link' => XX, 'body' => XX...);
  }
  $tpl->assign('rsslist', $rsslist);
  $last_build_date = date("D, d M Y H:i:s +0900",$적절한시간);

  // 출력시작
  header('Content-type: text/xml');
  header("Last-Modified: $last_build_date");
  echo("<?xml version=\"1.0\" encoding=\"euc-kr\" ?>\n");
  $tpl->print_('rss');
?>

Template_(http://www.xtac.net/)용 rss.tpl

<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
>
<channel>
<title>RSS 페이지 제목</title>
<link>http://www.xxx.xxx/웹사이트메인페이지</link>
<description>RSS 페이지에 대한 설명</description>  
<lastBuildDate>{_last_build_date}</lastBuildDate>
<webMaster>이메일 주소</webMaster>
<language>ko</language>
</channel>
{@ rsslist}
<item>
        <title><![CDATA[{.title}]]></title>
        <link>{.link}</link>
        <description><![CDATA[{? .img}<img src={.img} align=left>{/}{.body}]]></description>
        <dc:date>{.date}</dc:date>
        <dc:subject>{.category}</dc:subject>
        <dc:creator>{.writer}</dc:creator>
</item>
{/}
</rdf:RDF>

이상이 소스 전부입니다. 디비 읽어서 $rsslist 배열에 적당히 대입해주고 tpl파일만 조금 손보면 바로 쓸 수 있을겁니다.

<rdf:RDF>가 맞는지 <rss>가 맞는지, xmlns 항목이 적절한지는 확신이 없지만 서두 돌아간다는데 만족 합니다.

랜덤여신의 이미지

현재 가장 널리 쓰이는 RSS 버전이 몇인가요?

lazylady의 이미지

오래된 쓰레드지만 질문 하나 더하겠습니다.
rss포맷에 맞게 만든 문서를 웹싸이트에 올리면 rss리더가 읽어가는 것 같은데 그러면..
1. 겹치는 아이템은 리더가 제목이나 시간을 보고 알아서 제거하는지?
2. 아이템의 수는 정해져 있는 것 같은데 rss 리더의 갱신 시간에 새로 올라오는 글이 아이템의 수를 넘는 경우 그냥 놓치는 것인지?

제가 그간 rss를 이용하기만 하면서 했던 생각은 "내가 마지막으로 서버에서 rss를 받은 시간을 서버에 제공하면 서버에서 동적으로 rss페이지를 생성해 주는 거겠지" 였는데 막상 구현하려고 문서를 찾아보니 그런 내용은 없더군요.

그렇다면 어떤 게시판의 활동 정도를 고려해 아이템의 수를 정하는 것인가요? 또 rss 리더가 웹 기반이 아닌 사용자의 컴퓨터에서 돌아가는 프로그램인 경우 한참동안 컴퓨터를 켜지 않으면 그 간의 rss는 받아 볼 수 없는 건가요? 처음에 예상했던 것 보다 게시판이 갑자기 활발해진다면 놓치는 아이템이 생길 수 있는 건가요?

건축과 다니면서 프로그램 공부하는 이상한 사람;;

pynoos의 이미지

요즘은 rss 보다는 atom으로 가는 분위기가 감지되고 있습니다. :)

ssomai의 이미지

pynoos wrote:
요즘은 rss 보다는 atom으로 가는 분위기가 감지되고 있습니다. :)

;;; 외람된 질문이지만~, 아직 초보라서 질문드립니다~~. ㅠㅠ;;

atom은 rss에 비교해서 어떤 차이가 있는 건가요~?

더 좋은 점이 많다면~ atom을 공부해보려구요~ >_<

pynoos의 이미지

ssomai wrote:
pynoos wrote:
요즘은 rss 보다는 atom으로 가는 분위기가 감지되고 있습니다. :)

;;; 외람된 질문이지만~ atom은 어떤건가요~?

외람되긴요..
사실 저도 atom 링크가 있을 때 사용만하고 있고 서비스를 구현하거나 리더를 구현하는 입장이 아니라서 보고만 있습니다.

자세히 모르므로 일단 여기까지... :)

Prentice의 이미지

http://en.wikipedia.org/wiki/Atom_%28standard%29

스펙은 RFC 4287에 정의돼있습니다. http://www.ietf.org/rfc/rfc4287.txt

위키피디아 아래에 보시면 RSS 2.0 And Atom 1.0 Compared라는 링크가 있습니다.

ssomai의 이미지

//pynoos
그렇군요... ㅎㅎ 저도 주시하겠습니다~ ^^;;

//검은해
위키디피아 잘봤습니다~.

헤에~ 대강 훑어본 느낌으론
rss를 대체할 format으로 논의되고 있고...
표준으로 책정한지는 얼마 안된거네요~.
무엇보다 Blogger랑 Gmail에서 사용되고 있다니...
Google은 정말 신기술적용이 빠르네요~.

열심히 공부해야겠습니다! +_+

익명 사용자의 이미지

랜덤여신 wrote:
현재 가장 널리 쓰이는 RSS 버전이 몇인가요?

주로 RSS 2.0을 사용합니다. RSS 1.1은 RDF의 확장입니다. :)

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.