#!/usr/bin/perl -w use strict; use XML::RSS; use CGI qw/:standard/; require LWP::UserAgent; my $rssContentType = 'text/xml'; my $q = new CGI; print $q->header( $rssContentType ); my $rss = new XML::RSS (version => '2.0'); my $frontPageURL = 'http://fafblog.blogspot.com/'; my $userAgent = 'Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.5) Gecko/20031007 Firebird/0.7'; #set up the HTTP request, and grab the front page my $frontPage = LWP::UserAgent->new; my $frontPageText = ''; $frontPage->agent( $userAgent ); my $frontPageGetRequestStatus = $frontPage->get($frontPageURL); if( $frontPageGetRequestStatus->is_success ) { $frontPageText = $frontPageGetRequestStatus->content; } else { die "Failed to grab front page. Quitting.\n"; } $rss->channel( title => 'Fafblog!', link => 'http://fafblog.blogspot.com/', description => 'Fafblog!', syn => { updatePeriod => "hourly", updateFrequency => "1", updateBase => "1901-01-01T00:00+00:00" }, language => 'en-us' ); my @posts = ($frontPageText =~ m{
(.*?)
}gs); my $storyNum = 0; foreach(@posts) { #print $_; m{(.*?)}s; my $story = $1; $story =~ m{\s*(.*?)(.*)}s; my $title = $1; $story = $2; $story =~ s{
 $}{}; $story = ""; m{(.*?)}s; my $byline = $1; $byline =~ m{posted by (.*?)\s+at\s+.*?}si; my $author = $1; my $permalink = $2; $rss->add_item( title => "$title", link => $permalink, description => $story, author => $author ); } my $rssFinal = $rss->as_string; print textSubstitutions($rssFinal); sub textSubstitutions { my $inText = $_[0]; $inText =~ s/\&/\&/g; $inText =~ s/—/--/g; $inText =~ s/è/è/g; $inText =~ s/î/î/g; $inText =~ s/é/é/g; $inText =~ s/á/á/g; $inText =~ s/à/à/g; $inText =~ s/ä/ä/g; $inText =~ s/ô/ô/g; $inText =~ s/ö/ö/g; $inText =~ s/  //g; $inText =~ s/•/
  • /g; return $inText; }