当サイトで生成している RSS(野良feed):


M.C.P.C.:カテゴリー RSS バックナンバー

2009.08.26
mixiの自分の日記のRSSを作るPerlスクリプト はてなブックマーク - mixiの自分の日記のRSSを作るPerlスクリプト
2009.03.10
「RSS 簡単一発作成 『RSS 生成 CGI』」から書き出されるRSS 2.0の日付情報が不正なので直すパッチ はてなブックマーク - 「RSS 簡単一発作成 『RSS 生成 CGI』」から書き出されるRSS 2.0の日付情報が不正なので直すパッチ
2009.02.15
XML::RSSの出力が文字参照になってしまった はてなブックマーク - XML::RSSの出力が文字参照になってしまった
2009.02.14
Fedora Core 4にRPMじゃなくてLibXML2を入れる はてなブックマーク - Fedora Core 4にRPMじゃなくてLibXML2を入れる
2009.01.14
QuarkのテクノロジーデータベースのRSSってないよね はてなブックマーク - QuarkのテクノロジーデータベースのRSSってないよね
2009.01.07
わがままだが、ネット上にある文章の日付には無意識的に年まで入れてほしい はてなブックマーク - わがままだが、ネット上にある文章の日付には無意識的に年まで入れてほしい
2008.10.01
ThunderbirdのRSSリーダはRSS 1.0のAnnotationに対応しているわけではなくtitle要素をメーリングリスト風にスレッド解釈してツリー表示している はてなブックマーク - ThunderbirdのRSSリーダはRSS 1.0のAnnotationに対応しているわけではなくtitle要素をメーリングリスト風にスレッド解釈してツリー表示している
2008.09.29
アドビユーザフォーラムのRSS、DreamweaverとFireworks追加 はてなブックマーク - アドビユーザフォーラムのRSS、DreamweaverとFireworks追加
2008.09.24
Opera Mailは、RSS 1.0のannotationに対応していないみたい はてなブックマーク - Opera Mailは、RSS 1.0のannotationに対応していないみたい
2008.09.23
アドビユーザフォーラムのRSSを生成しました はてなブックマーク - アドビユーザフォーラムのRSSを生成しました

< 最後 « これより前10ä»¶ | 全件

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) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

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) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

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) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

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) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2009.01.14

QuarkのテクノロジーデータベースのRSSってないよね

Quark:テクニカルサポート: 8テクノロジーデータベース [japan.quark.com]

RSS作りやすい構造。本文配信までやるとちょっと苦労かも。

PAGE2009までいそがしーので誰か作って

2009.01.14 午後 10:26 [RSS] | 固定リンク | コメント (0) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2009.01.07

わがままだが、ネット上にある文章の日付には無意識的に年まで入れてほしい

200901aainsatsuko

つうわけで、
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) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

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) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

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) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

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) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

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を通じて公開します。

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

(2008-9-24 20:00追加)

Audition

http://feeds.feedburner.jp/adobeforumsjp_au
 (追加ここまで)

アドビユーザフォーラムは、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) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

< 最後 « これより前10ä»¶ | 全件