Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #!perl
  2. use XML::Atom::SimpleFeed;
  3. use HTML::TreeBuilder 5 -weak;
  4. use LWP::Simple qw /get/;
  5. use Date::Manip;
  6.  
  7. # normalize all dates to UTC
  8. Date_Init("ConvTZ=UTC");
  9.  
  10. my $format = "%OZ"; # according to perldoc, this will be an RFC3339-compliant date
  11.  
  12. my $url_ = 'http://www.klwines.com/local_events.asp';
  13.  
  14. my $feed = XML::Atom::SimpleFeed->new(
  15.     title   => 'K&L Wine Tasting schedule',
  16.     link    => 'http://hasan.d8u.us/kl.atom.xml',
  17.     author  => 'Hasan Diwan',
  18.     logo    => 'http://validator.w3.org/feed/images/valid-atom.png');
  19.  
  20. my $url = get($url_);
  21. my $html = HTML::TreeBuilder->new_from_content($url);
  22. my @events = $html->look_down('_tag', 'div', class => 'localevent_content');
  23. foreach my $evt (@events) {
  24.     my $event = $evt->as_text;
  25.     my ($date, $description) = split /:/, $event;
  26.     $date = ParseDate($date);
  27.     $date2 = UnixDate("$date", $format);
  28.     $feed->add_entry (
  29.         title => 'Wine Tasting',
  30.         published => $date2,
  31.         link => 'http://www.klwines.com/local_events.asp',
  32.         content => "$description");
  33. }
  34. $feed->print;