Create RSS with XML::RSS

By using the popular syndication format known as RSS, you can use your newly scraped data in dozens of different aggregators, toolkits, and more.

Due to the incredible popularity of RSS, folks are starting to syndicate just about anything one might be interested in following—recipes, job listings, sports scores, and TV schedules to name but a few.

Here’s a simple RSS 0.91 file:

<?xml version="1.0"?>
<rss version="0.91">

  <channel>
     <title>ResearchBuzz</title>
     <link>http://www.researchbuzz.com</link>
     <description>News and information on search engines... </description>
     <language>en-us</language>

     <item>
      <title>Survey Maps of Scotland Towns</title>
      <link>http://researchbuzz.com/news/2003/jul31aug603.shtml</link>
     </item>

     <item>
      <title>Directory of Webrings</title>
      <link>http://researchbuzz.com/news/2003/jul31aug603.shtml</link>
     </item>

  </channel>
</rss>

Thankfully, we don’t have to worry about creating these files by hand. We can create RSS files with a simple Perl module called XML::RSS (http://search.cpan.org/author/KELLAN/XML-RSS/). Here’s how (rss.pl):

#!/usr/bin/perl -w use strict; use XML::RSS; my $rss = new XML::RSS(version => '0.91'); $rss->channel( title => 'Research Buzz', link => 'http://www.researchbuzz.com', description => 'News and information on search en...', ); $rss->add_item( title => 'Survey Maps of Scotland Towns', link => 'http://researchbuzz.com/news/2003/etc/etc/etc#etc', description => 'An optional description can go here.' ); $rss->add_item( ...

Get XML Hacks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.