嗚呼!印刷工! 雑記のRSS生成を直した。
スポンサードリンク
以前、M.C.P.C.: 嗚呼!印刷工! 雑記のRSS作った(野良Feed) [blog.dtpwiki.jp]
で作ったFeedが、元ページのHTML構造が変わったので(●による見出しだったのがいきなりh1要素使うようになっておった……)。
ていうわけで直しました。
http://dtpwiki.jp/rss/insatsuman.xml
お使いください。
あと、以前使っていた生成コードのソースも置いておきます。
Filename: insatsuman.pl
#!/usr/bin/perl use strict; use warnings; use LWP::Simple; use utf8; use Encode; use XML::RSS; my $html = decode('cp932', get('http://www.geocities.jp/insatsuman/notebook.htm') ); $html =~ s/\x0D\x0A|\x0D|\x0A/\n/g; $html =~ s|^.+<pre>||s; $html =~ s|</pre>.+$||s; my $list; my $key; foreach my $line (split "\n", $html) { if ($line =~m|<i><font size="4">●(.+)</font></i>| ){ my $date = $1; $key = parse_date($date); $list->{$key}->{date} = $date; next; } $list->{$key}->{description} .= "$line\n" if $key; } my $rss = XML::RSS->new; $rss->add_module( prefix=>'content', uri=>'http://purl.org/rss/1.0/modules/content/', ); $rss->add_module( prefix=>'annotate', uri=>'http://purl.org/rss/1.0/modules/annotate/', ); $rss->channel( title => '嗚呼!印刷工! 雑記', link => 'http://www.geocities.jp/insatsuman/notebook.htm', description => '嗚呼!印刷工! 雑記 最新書き込み', language => 'ja', dc => { publisher => '嗚呼!印刷工!', contributor => 'DTPWiki.jp', }, syn => { updatePeriod => 'hourly', updateFrequency => '1', }, ); foreach my $key (reverse sort keys %$list) { $rss->add_item( link => 'http://www.geocities.jp/insatsuman/notebook.htm#'.$key, title => $list->{$key}->{date}, description => clean_html( $list->{$key}->{description} ), dc => { date => $key, creator => '三流印刷工', }, content => { encoded => "<![CDATA[<pre>".replace_html($list->{$key}->{description})."</pre>]]>", }, ); } print encode('utf8', $rss->as_string() ); exit; sub parse_date { #01月17日(木) my $date = shift; $date =~ s|日.+$||; $date =~ s|月|-|g; $date = "2008-".$date."T00:00:00"; return $date; } sub clean_html { my $html = shift; $html =~ s/<.+?>//sgo; return $html; } sub replace_html { my $html = shift; $html =~ s| src=\"| src="http://www.geocities.jp/insatsuman/|sgo; return $html; }
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/2517
コメントする