当サイトで生成している RSS(野良feed):
M.C.P.C.:カテゴリー RSS バックナンバー
- 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に対応していないみたい
- 2008.09.23
-
アドビユーザフォーラムのRSSを生成しました
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
- InDesign
- http://feeds.feedburner.jp/adobeforumsjp_id
- Photoshop
- http://feeds.feedburner.jp/adobeforumsjp_ps
- Illustrator
- http://feeds.feedburner.jp/adobeforumsjp_ai
- Flash
- http://feeds.feedburner.jp/adobeforumsjp_fl
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)
|
2008.09.23
アドビユーザフォーラムのRSSを生成しました
2009-04-13 16.50追記:
アドビフォーラム(旧アドビユーザフォーラム)は、現在ではアドビフォーラム自身がRSSを配信するようになりました。つきましては、このDTPWiki.jpでのRSS生成を中止し、RSSをアドビサイトのRSSへ転送設定をしました。
アドビフォーラムのRSSについては、http://blog.dtpwiki.jp/dtp/2009/04/adoberss-7ab3.htmlを参照してください。
DTPWiki.jpは、アドビユーザフォーラム(http://forums.adobe.co.jp/)のRSSの生成を始めました。RSSは、FeedBurnerを通じて公開します。
(2008-9-24 20:00追加)
(追加ここまで)アドビユーザフォーラムは、AdobeSystemsの日本法人、アドビシステムズ株式会社が運営している電子掲示板で、アドビ製品の使用で悩みを持つ人の書き込みや、アドバイスの書き込みなどがされています。
しかしながら、長らくRSSが用意されていませんでした。そこで、このたび、DTPWiki.jpにて、掲示板巡回プログラムを作り、RSSを公開しました。
生成は1時間毎、RSSのバージョンは1.0です。
今回は4つの製品フォーラムのRSSを用意しましたが、他の製品のフォーラムをご希望される場合は、ご連絡ください。
なお、このRSSは、アドビシステムズ非公認のRSS(いわゆる野良RSS・野良フィード)ですので、このRSSを利用して発生した損失/損害につきましては、当方は保証いたしませんので、あらかじめご了承くださいますようお願いします。
アドビユーザフォーラムのRSS配信については、
M.C.P.C.: 「いいもの」は、メインストリートに置いておかないと、みな気づかない。だから、アクセス数の多いサイトでの「おもてなし」は重要。:Comments
の議論にて生成を思いつきました。
(2008-9-29 0:31追記)
アドビユーザフォーラムのRSS生成スクリプトをCodeReposで公開しています。
http://svn.coderepos.org/share/lang/perl/misc/adobeuserforumsjp2rss/
2008.09.23
午後 11:25
[RSS]
|
固定リンク
|
コメント
(2)
|
トラックバック
(1)
|



























































