ทำ RSS ใช้เองง่ายๆ

RSS is a family of Web feed formats used to publish frequently updated content such as blog entries, news headlines or podcasts. An RSS document, which is called a “feed,” “web feed,” or “channel,” contains either a summary of content from an associated web site or the full text. RSS makes it possible for people to keep up with their favorite web sites in an automated manner that’s easier than checking them manually.Source: http://en.wikipedia.org/wiki/RSS_(file_format)

สำหรับคำนิยามภาษาไทย เลือกอ่านได้ตามใจที่ Google ครับ  ส่วนหากต้องการทราบรายละเอียดดูได้ที่  RSS 2.0 specification และสามารถดูตัวอย่างของ RSS 2.0 ได้ครับ

หากเราต้องการทำ RSS ขึ้นมาเองก็จะต้องทำตาม Specification ข้างต้นได้ครับ  แต่หากไม่ต้องการใช้เวลามาก ก็ใช้ฟังก์ชันที่มีคนทำไว้แล้วชื่อ FeedCreator  เราเพียงแต่เตรียมข้อมูลไว้ให้พร้อม   ข้อมูลส่วนแรกจะเป็นส่วนที่อธิบาย feed ของเรา

title คือ ชื่อ RSS ที่เราต้องการ  description เป็นคำอธิบายเกี่ยวกับ feed ของเรา  และ link คือ URL ของเว็บเพจเรา

ส่วนที่สำคัญก็คือการใส่ข้อมูลข่าวต่างๆ ลงไปใน item ต่างๆ  ตัวอย่างข้างล่างนี้เป็นการดึงข้อมูลจากฐานข้อมูล และนำไปใส่ใน feed โดยตรง

title ในที่นี้คือ ชื่อของข่าว  link เป็น url ของข่าว  description เป็นคำสรุปสั้นๆ เกี่ยวกับเนื้อข่าว  date เป็นวันที่ของข่าว  (ซึ่งจะต้องเป็นไปตามรูปแบบที่กำหนด เช่น Sun, 19 May 2002 15:21:36 GMT

ส่วน source และ author ก็คือแหล่งที่มาของข่าว และผู้เขียนข่าวตามลำดับ  และขั้นตอนสุดท้ายที่สำคัญได้แก่การบันทึกผลลัพธ์ที่ได้ลงเป็นไฟล์ เช่น feed.xml  คำสั่งข้างล่างนี้จะบันทึกผลลัพธ์ลงเป็นไฟล์ พร้อมกับแสดงผลออกมาทางหน้าจอให้เราดูด้วย

แต่ในการทำงานจริง เราต้องการให้สคริปต์ทำงานเพื่อสร้างไฟล์ feed.xml โดยไม่ต้องแสดงผลลัพธ์ออกมาทางหน้าจอ จึงต้องใส่คำสั่งเพิ่มเติมเข้าไปด้วยดังนี้

จากตัวอย่างนี้หากทุกอย่างทำงานเรียบร้อย  เราก็สามารถเรียกไฟล์ feed ซึ่งเป็นผลลัพธ์จากสคริปต์ของเราได้ เช่น http://my.diary.in.th/news/feed.xml  และเพื่อให้สคริปต์สร้างไฟล์ feed ให้เราอัตโนมัติ  ก็ควรจะสั่งให้สคริปต์ทำงานผ่านทาง crontab

อย่างไรก็ตามหากต้องการตรวจสอบว่า RSS ของเราที่สร้างมานั้นถูกต้องเพียงใด ก็สามารถตรวจสอบผ่านทาง  FEED Validator ได้ครับ

หากต้องการทำให้ feed ของเราใช้งานได้ดีมากขึ้น ก็สามารถใช้บริการของ FeedBurner (http://www.feedburner.com) ซึ่งเพิ่งจะถูกซื้อโดย Google ด้วยราคา 100 ล้านเหรียญ   และดูเหมือนจะทำให้บริการของ FeedBurner เป็นของฟรีไปแล้ว

บริการของ FeedBurner จะทำหน้าที่เป็นผู้กระจาย feed แทนเซิร์ฟเวอร์ของเราโดยตรง  นอกจากนี้ยังมี option ที่เกี่ยวช่วยให้ feed ของเราสมบูรณ์มากขึ้น เช่น สามารถเลือกปรับเปลี่ยนจาก RSS เป็น Atom ได้ตาม โปรแกรมที่เข้ามาดึงข่าว   สิ่งที่สำคัญอีกประการหนึ่งก็ feedBurner มีระบบสถิติที่ทำให้เรารู้ว่ามีผู้สมัครเป็นสมาชิกของ feed เรามากน้อยขนาดไหนด้วยครับ