O'Reilly logo

XML Hacks by Michael Fitzgerald

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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( ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required