当サイトで生成している RSS(野良feed):
M.C.P.C.:カテゴリー RSS バックナンバー
- 2010.04.22
-
「ものかの」さんがblogに移転してたので、当方生成RSSを停止し、301リダイレクトするようにしたよ
- 2009.08.26
-
mixiの自分の日記のRSSを作るPerlスクリプト
- 2009.03.10
-
「RSS 簡単一発作成 『RSS 生成 CGI』」から書き出されるRSS 2.0の日付情報が不正なので直すパッチ
- 2009.02.15
-
XML::RSSの出力が文字参照になってしまった
- 2009.02.14
-
Fedora Core 4にRPMじゃなくてLibXML2を入れる
- 2009.01.14
-
QuarkのテクノロジーデータベースのRSSってないよね
- 2009.01.07
-
わがままだが、ネット上にある文章の日付には無意識的に年まで入れてほしい
- 2008.10.01
-
ThunderbirdのRSSリーダはRSS 1.0のAnnotationに対応しているわけではなくtitle要素をメーリングリスト風にスレッド解釈してツリー表示している
- 2008.09.29
-
アドビユーザフォーラムのRSS、DreamweaverとFireworks追加
- 2008.09.24
-
Opera Mailは、RSS 1.0のannotationに対応していないみたい
2010.04.22
「ものかの」さんがblogに移転してたので、当方生成RSSを停止し、301リダイレクトするようにしたよ
「ものかの」さんがWordPressに移行して「monokano」 [tama-san.com] になっていたので、うちで「ものかの」さんのトップページをクローリングして生成していたRSSを停止し、今までのアドレスでアクセスしてきた人へは301リダイレクトで「monokano」さんのRSSに転送しました。
こんな感じにした。
filename: .htaccess
redirect 301 /rss/monokano.xml http://tama-san.com/?feed=rss2
いままでは、せっかくいい情報出ているのに、Permalinkが無いのがとってもとっても残念で、RSSを生成し、無理やりパーマリンクを付けていたのですが(URLに#とフラグメント識別子を使って無理やり日付を付けて、他の日付の書き込みと区別していた)、やっとPermalinkができたことになります。なにはともあれ、よかった。
このHTMLからRSSを生成するっていうのは、HTMLを解析し、取得できる構造を発見し、データを取得し、整理するというスクレイピングの知識、書き出すときの形式としてのXMLの知識、RSSリーダで利用しやすいメタデータを意識するというRSSの知識などがいっぺんに必要になって、身につけるとかなり(印刷物の製作業務にも!)応用が利きまして、「これは流行る!」と思ったが流行らなかった。どうやら、業界的なネットへの接続時間が実は少ないから、という推論があるんだけどどうだろう。
2010.04.22
午前 09:33
[RSS]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
|
2009.08.26
mixiの自分の日記のRSSを作るPerlスクリプト
コメント欄で問い合わせがあって、mixiの自分の日記をRSSに書き出すスクリプトが欲しいって言うんですけれども、3年半前のエントリであったため、すでにスクリプトの賞味期限が切れていたので、2009年8月現在でちゃんと動くスクリプトに直しました。
ユーザーID、パスワードはConfig:Pitで管理する方式です。
パスワード設定をコードに書かない(Config::Pit) - モダンなPerl入門 - モダンなPerl入門 [perl-users.jp]
スクリプトを動かす前に、上記リンク先を参照して、コマンドラインからアカウントとパスワードをセットしておこう。こんな感じでいいのでは。
$ perl -MConfig::Pit -e'Config::Pit::set("mixi.jp", data=>{ email => "ABC12345", password => "password" })'
filename: miximydiary2rss.cgi
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mixi::Scraper;
use XML::Feed;
use DateTime::Format::HTTP;
use Config::Pit;
my $config = pit_get( 'mixi.jp' );
die "not preset account data in Pit." if !%$config;
my $email = $config->{email} or die 'email not found.';
my $password = $config->{password} or die 'password not found.';
my $mixi = WWW::Mixi::Scraper->new(
email => $email,
password => $password,
);
my @list = $mixi->parse( 'http://mixi.jp/list_diary.pl' );
my $rss = XML::Feed->new( 'RSS',
version => '1.0', encode_output => 0 );
$rss->title( 'mixi My Diary RSS' );
foreach my $item ( @list ) {
my $entry = XML::Feed::Entry->new( 'RSS' );
$entry->title ( $item->{subject} );
$entry->link ( $item->{link } );
$entry->content( $item->{description } );
my $dt = DateTime::Format::HTTP
->parse_datetime( $item->{time} )
->set_time_zone( 'Asia/Tokyo' );
$entry->issued ( $dt );
$rss->add_entry( $entry );
}
print "Content-Type: text/xml; charset=UTF-8;\n\n";
print $rss->as_xml,"\n";
exit;
__END__
もしかしたら、mixiの隠しAPIで一発で出せるのかな?
2009.08.26
午後 10:24
[RSS]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
|
2009.03.10
「RSS 簡単一発作成 『RSS 生成 CGI』」から書き出されるRSS 2.0の日付情報が不正なので直すパッチ
とあるRSSを、XML::Feedでパースしたら、うまくいきませんでした。そのRSSを
RSS Validator - feedAnalyzer RSSの構文チェック [feedanalyzer.com]
で調べてみたら、
"lastBuildDate" の日付の表記が間違っています。
"pubDate" "lastBuildDate" などではRFC 822の表記方法を使用します。
○正 > "Fri, 01 Jun 2005 03:00:00 +0900" (一例です 文字の間のスペースに注意してください)
○誤 > "Fri, 01 Mar 2009 03:00:00 +09:00"
とか出まして、RFC 822に従っていないので、XML::Feed(が使っているDateTime)が日付として認識できなかったようです。
ということで、これを生成しているのはなにかと思って調べてみたら、
<generator>http://www.futomi.com/library/rss/index.html?1.1.0</generator>
と書いていたので、該当するアドレスに飛んでみたら、RSS生成スクリプトでした。
RSS簡単一発作成『RSS 生成 CGI』 - futomi's CGI Cafe [www.futomi.com]
というわけで、シェアウェアだそうなので、インストールすることはとりあえずせずに、問題箇所を探してみました。
Filename: admin.cgi.patch
*** admin.cgi.orig 2006-07-25 11:57:00.000000000 +0900
--- admin.cgi 2009-03-10 11:46:26.000000000 +0900
***************
*** 876,882 ****
if($CONF{'TIMEZONE_OFFSET'} =~ /^\-/) {
$tz_sign = '-';
}
! my $tz = $tz_sign . sprintf("%02d", abs($CONF{'TIMEZONE_OFFSET'})) . ':00';
my $channel_pub_date = "$pubdate[6], $pubdate[3] $pubdate[4] $pubdate[5] $pubdate[2]:$pubdate[1]:$pubdate[0] ${tz}";
#image::title
my $image_title = $CONF2{'IMAGE_TITLE'};
--- 876,882 ----
if($CONF{'TIMEZONE_OFFSET'} =~ /^\-/) {
$tz_sign = '-';
}
! my $tz = $tz_sign . sprintf("%02d", abs($CONF{'TIMEZONE_OFFSET'})) . '00';
my $channel_pub_date = "$pubdate[6], $pubdate[3] $pubdate[4] $pubdate[5] $pubdate[2]:$pubdate[1]:$pubdate[0] ${tz}";
#image::title
my $image_title = $CONF2{'IMAGE_TITLE'};
このスクリプトを使っている人は、上のパッチを当てるといいんじゃないでしょうか。
フィードアグリケータを作っている僕としてはこれどうすればいいんでしょうね。
2009.03.10
午前 11:55
[RSS]
|
固定リンク
|
コメント
(0)
|
トラックバック
(1)
|
2009.02.15
XML::RSSの出力が文字参照になってしまった
昨日のLibXML2を入れ替えたあと、CPANからXML::Feedをいれたら、依存モジュールとしてXML::RSSのバージョンも新しくなってしまったせいで、XML::RSSの出力が文字参照になってしまって、それで出力していたfeedを受信していたThunderbirdが、すべてのエントリを毎回違うエントリと認識してしまい、大変なことになってしまいました。
Nix::WebLab: XML::RSS で文字化け [lab.z-nix.jp]
で、解決。XML::RSS->new(encode_output => 0);ていうふうにしたら直った。
こうしてみると、ネットにあふれているXML::RSSのサンプルはこれはいっていないのが多いから、あたらしめのXML::RSSを使ってしまい、うまくいかんと思っている人も多そうだな。
2009.02.15
午後 10:26
[RSS]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
|
2009.02.14
Fedora Core 4にRPMじゃなくてLibXML2を入れる
会社で作っていたfeedを一覧にするやつなんですけれども、いつもは自分で集めたRSSなんでRSS 1.0だけ集めてたんで、XML::RSSで用事が済んでいたのですが、今回はユーザにfeedのURLを入力してもらっていたので、atomに対応できないXML::RSSだと不足と相成りました。
というわけで、いまどきは、
RSS(XML::Feed) - モダンなPerl入門 - モダンなPerl入門 [perl-users.jp]
がいいらしいので、CPANから入れようと思って、とりあえずうちのサーバで試そうと思ったら、あちゃー、うちのFedora Core 4 PPCなんですけれども、LibXML2が古いーて出るし、パッケージはねえし、しょうがねえので、本家からtarとってきてビルド。
$ wget ftp://xmlsoft.org/libxml2/libxml2-2.7.3.tar.gz $ tar zxvf libxml2-2.7.3.tar.gz $ cd libxml2-2.7.3 $ ./configure --prefix=/usr $ make $ su # make install
このあと、CPANからXML::Feed入れたらちゃんと入った。
これでatomもいけるね! でも、ちらっと、LibXML2使わないでXML::Feed動くってどっかで見たよなあ。
2009.02.14
午前 12:00
[RSS]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
|
2009.01.14
QuarkのテクノロジーデータベースのRSSってないよね
Quark:テクニカルサポート: 8テクノロジーデータベース [japan.quark.com]
RSS作りやすい構造。本文配信までやるとちょっと苦労かも。
PAGE2009までいそがしーので誰か作って
2009.01.14
午後 10:26
[RSS]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
|
2009.01.07
わがままだが、ネット上にある文章の日付には無意識的に年まで入れてほしい

つうわけで、
http://dtpwiki.jp/rss/insatsuman.xml
を修正しました。
どうなっているかっていうと、もとのページ
http://www.geocities.jp/insatsuman/notebook.htm
の日付に年がないので、2008年で決めうちしていたわけです。ネット上の文章の日付は年も付けてもらうと再利用時にありがたいってことですね。
(2009-01-09 1:33追記)
生成ソースの方で、「年」が追加されていました。ありがとうございました!
2009.01.07
午後 11:40
[RSS]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
|
2008.10.01
ThunderbirdのRSSリーダはRSS 1.0のAnnotationに対応しているわけではなくtitle要素をメーリングリスト風にスレッド解釈してツリー表示している
長らく勘違いしていたんですけれども、僕は、Mozilla ThunderbirdのRSSリーダ機能を使っていまして、これが、ちゃんとしたRSSであれば、ツリー構造で表示してくれるのが便利であって、これが、RSS 1.0のAnntationにより実現されていると勘違いしていました。
なぜ勘違いしていたかというと、自分で生成した野良RSSは、Annotationを入れていたんですけれども、それをThunderbirdに読ませたら、見事ツリー構造になったからです。
そして最近又野良RSSを作ることになったんですけれども、Annotationを入れるようにしっかり作ったのにツリー表示にならないのです。
よーく見てみたら、title要素によってその違いが出ていました。
いい例:
ほげほげ
Re[001]:ほげほげ
Re[002]:ほげほげ
悪い例:
ほげほげ
re[1]: ほげほげ
re[2]: ほげほげ
悪い例の方は、よーく見ると、re[1]:の後ろに半角スペースが入っているので、Thunderbirdがスレッドとして見なしてくれず、ツリー表示されなかったというわけ。
あちこちに、ThunderbirdはRSS1.0のAnnotation対応していると書いちゃったので、訂正しないと……
2008.10.01
午後 11:31
[RSS]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
|
2008.09.29
アドビユーザフォーラムのRSS、DreamweaverとFireworks追加
アドビユーザフォーラムのRSS生成を追加しました。
- Dreamweaver
- http://feeds.feedburner.jp/adobeforumsjp_dw
- Fireworks
- http://feeds.feedburner.jp/adobeforumsjp_fw
Acrobatも追加しようかと思ったんですけれども、2文字の略号ないよね。どうしよう。しょうがないからacroかな。
2008.09.29
午後 11:49
[RSS]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
|
2008.09.24
Opera Mailは、RSS 1.0のannotationに対応していないみたい
僕が作るRSSは、できる限り、RSS 1.0 annotationモジュールに対応しようと努力しておりまして、現在DTP駆け込み寺のRSSで実装済みです。これは何かというと、簡単に言うと、メールソフトでいうところのツリー表示(スレッド表示)が実現できるものです。
Opera Mail(Opera 9.5のメール機能)は、RSSも表示できるのですが、RSSを受信しても、ツリー表示にならないので、対応していないのかもしれません。
Mozilla Thunderbirdも同様にRSSを表示できますが、ツリー表示は対応しているよ。
(2008-10-1 23:44訂正)
M.C.P.C.: ThunderbirdのRSSリーダはRSS 1.0のAnnotationに対応しているわけではなくtitle要素をメーリングリスト風にスレッド解釈してツリー表示している
にあるとおり、Mozilla ThunderbirdのRSS表示機能は、annotationに対応してツリー表示しているわけではありません。訂正します。
2008.09.24
午後 11:34
[RSS]
|
固定リンク
|
コメント
(0)
|
トラックバック
(0)
|








![: SANYO NEW eneloop 充電式ニッケル水素電池(単3形2個パック) [HR-3UTGA-2BP]](http://ecx.images-amazon.com/images/I/51V83UYI5kL._SL75_.jpg)


![: デジモンアドベンチャー ぼくらのウォーゲーム!/デジモンアドベンチャー【劇場版】 [DVD]](http://ecx.images-amazon.com/images/I/617JZ13THTL._SL75_.jpg)

















![: サマーウォーズ [Blu-ray]](http://ecx.images-amazon.com/images/I/51ZDAy7c8KL._SL75_.jpg)
![: サマーウォーズ [DVD]](http://ecx.images-amazon.com/images/I/419nVKBEIkL._SL75_.jpg)





























