nDiki : XML::RSS
スポンサード リンク
Related term
2005年5月16日 (月)
■ はてなブックマーク上の最新ブックマークを nDiki に

自分でタグ付けできないのでどうなのかと思っていたはてなブックマークであるが、気がつけば登録したブックマークももうすぐ1500。
タグ付けできない部分は、検索機能である程度カバー。 お気に入り機能のおかげで旬のネタ収集もできる。 なんだかんだいっても、さすが「はてな」という感じ。
日々登録しているブックマークを活用したいということで RSS を利用して、nDiki に表示してみることにした。 出勤前のちょっとした時間で Perl スクリプトとしてささっと実装。
- ローカルPCで以下の作業を行うスクリプトを書く
- LWP::Simple を使用して RSS を取得
- XML::RSS で parse() したあと、items から HTMLフラグメントを生成
- nDiki のフッタに挿入
- cron で1時間毎に
という形で実現。
- DiKicker にはフッタファイルに別のファイルをインクルードする機能がないので、フッタを書き換えてしまえ。
- サーバに XML::RSS を入れるのが面倒なので、ローカルPCでやってしまえ。どうせブックマークが更新されるのは、そのPCを使っている時だけだから。
という手ぬきであっさり実装。
- はてなブックマーク上の検索結果を nDiki に (2005-10-30)
- Twitter ステータスを nDiki サイドバーに表示 (2007-11-09)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- Plagger のインストールが大変なので XML::RSS で RSS ... (2006-06-10)
- www.naney.org をさくらのレンタルサーバへ移転 (2009-12-23)
2005年10月30日 (日)
■ はてなブックマーク上の検索結果を nDiki に

5カ月ほど前にはてなブックマーク上の最新ブックマークを nDiki のサイドバーに表示するようにしてみた。
今回は nDiki のキーワード別のページに、はてなブックマークからそのキーワードで検索されたブックマークを表示する機能を追加してみた。
取得する対象RSSが多くなり、さすがに前回みたいにローカルPCで処理して定期的にアップロードという形では無駄が多すぎるのでちゃんとサーバ上で処理するようにした。
URI::Fetch + Cache::FileCache + XML::RSS を用いて実装。 キャッシュ期間は1日に設定。キーワードページを最初にアクセスした際にははてなブックマークからのフィード取得があるので、ちょっと時間がかかるが2度目のアクセス以降キャッシュを使っている間はそれほど余計な時間はかからないはず。
自分のWeb日記とブックマークの組み合わせだと当然扱うネタが近いので、きちんと関連する情報が表示されるはずだ。 他の検索サーバのRSSフィードを利用する事も考えてはいるけど、しばらくはこれでいいかな。
- はてなブックマーク上の最新ブックマークを nDiki に (2005-05-16)
- Twitter ステータスを nDiki サイドバーに表示 (2007-11-09)
- Plagger のインストールが大変なので XML::RSS で RSS ... (2006-06-10)
- amaroK で聞いた曲を Web ページで表示 (2006-02-02)
- クリッピングに便利な CMS 「Tumblr」を使ってみる (2007-04-13)
2006年6月10日 (土)
■ Plagger のインストールが大変なので XML::RSS で RSS から JavaScript コードへ変換するスクリプトを自作

一昨日社内メイン Wiki のレイアウトを変更してサイドバーを設けたので、徐々に増えてきた社内 Blog の ヘッドラインをそこに表示することにした。
最初は Plagger を使ってみようと思ったのだが、依存 CPAN モジュールが多くて CPAN.pm を使ってもなかなかインストールが終わらない。
ということで今回は Plagger を見送って、XML::RSS でちょちょっと aggregator を自作して済ますことにした。
基本的には nDiki 用に書いた「はてなブックマーク上の最新ブックマークを表示するためのコード(2005年5月16日)」をちょっと修正して利用。 HTML フラグメントを生成するかわりに、JavaScript Include 用 JavaScript ファイルを生成するように変更した。
これで社内 Blog が読まれる回数も増えるかな。
- はてなブックマーク上の検索結果を nDiki に (2005-10-30)
- Rubric でプライベート SBS を立てるも 0.140 では日本語に不具合 (2006-07-22)
- Twitter ステータスを nDiki サイドバーに表示 (2007-11-09)
- はてなブックマーク上の最新ブックマークを nDiki に (2005-05-16)
- iCalendar 形式経由でスケジュールを社内 Blog に表示 (2007-01-08)
2007年11月9日 (金)
■ Twitter ステータスを nDiki サイドバーに表示

公式の Flash 版 Twitter badge をこのページのサイドバーに表示していたが、以下の点でちょっと不満だった。
- 「Flash, Just Me」: 自分のみのステータスを表示できるが、1度に1つのみ。キャッシュの関係で古い情報が表示されがち。
- 「Flash, With Friends」: 自分のみのステータスを表示できない。
- 「HTML/JavaScript」: JavaScript ファイル読み込みなので、Twitter 側が重いとページのその先のレンダリングが止まってしまう。
「自分の過去のステータスを一覧的にサイドバーに表示する」のがしたいことなのだが、ちょっとマッチしない。 ということで Twitter から RSS フィードを取ってきて、サイドバーに表示することにした。
使ったモジュールは URI::Fetch + XML::RSS + Date::Parse。 それとユーティリティとして WiKicker::HTML と WiKicker::URI。
- cron で定期的に Twitter から RSS フィードをとってきて、Perl スクリプトで HTML フラグメントに変換。
- DiKicker が読み込む(サイドバーを含む)フッタファイルに挿入。
と簡単に実装してみた。機能的には概ね満足。
今後は L:~ や URL の自動リンク化、キーワードの自動リンク化を適宜したい。
- はてなブックマーク上の最新ブックマークを nDiki に (2005-05-16)
- はてなブックマーク上の検索結果を nDiki に (2005-10-30)
- Flickr の写真を自動的に Twitter アイコンにする (2008-03-13)
- Plagger のインストールが大変なので XML::RSS で RSS ... (2006-06-10)
- クリッピングに便利な CMS 「Tumblr」を使ってみる (2007-04-13)
2008年3月13日 (木)
■ Flickr の写真を自動的に Twitter アイコンにする

2週間ほど前にtwitterfeed で Flickr に写真をアップロードしたら自動的に Twitter にタイトルと URL をポストするようにしたのだが、これだと写ツみたいに画像そのものはポストされず今一歩なので、写真自体を自動的に Twitter アイコンにアップロードするようにしてみた。
流れは以下:
- cron で定期的に Flickr の RSS フィードをフェッチする (URI::Fetch + XML::RSS)。
- 新しい写真がアップロードされていたら(最新の写真が変化していたら)、RSS フィード中のサムネイル画像 URL を抜き出して画像をダウンロードする (URI::Fetch)。
- 正方形に crop。それからころころ Twitter アイコンを変えると誰だかわからなくなるので、決まった画像 (今のところ自分の写真)を重ねる (ImageMagick / PerlMagick)。
- Twitter にアップロードする(アップロードスクリプト)。
例えば今日 VQ1005 で撮影して Flickr にアップロードした写真を自動的に加工させたものがコレ。
なんか偽中継のような嘘臭さがあるけれど、まあだいたいアップロードした写真は自分が実際にその場にいたのだから、あながちでもないんじゃないか。
- Twitter にケータイ写真を流すのに twitterfeed を使う (2008-02-22)
- Twitter ステータスを nDiki サイドバーに表示 (2007-11-09)
- デジカメ写真管理ソフトウェア digiKam (2006-03-10)
- 今日のさえずり - 「スーのうた」が耳から離れない (2009-03-09)
- VQ1005 の画像をケータイで閲覧 (2008-03-20)
2008年8月5日 (火)
■ Twitter への書き込みを自動的に Skype ムードメッセージに設定する for Windows

半年ぐらい前に Skype for Linux で Twitter への書き込みを自動的に Skype ムードメッセージに設定するスクリプト(記事)を作って cron で 10分毎に更新するようにした。
Windows BOX 上 Skype を使っている時も同様にできるように、Skype4COM を使うバージョンも書いてみた。 D-Bus ではなく Skype4COM を使うようにすることと、Skype4COM にはシフト JIS の文字列を渡すようにすること以外はほとんど同じ。
Skype4COM の DLL を登録し、Skype が起動している状態で以下の Perl スクリプトを実行。
#!/usr/bin/perl
use strict;
use warnings;
use Win32::OLE;
use URI::Fetch;
use XML::RSS;
use Date::Parse;
use Encode;
my $id = '自分の Twitter ID';
my $time = time;
my $fetch_response
= URI::Fetch->fetch(
"http://twitter.com/statuses/user_timeline/$id.rss?dummy=$time")
or die URI::Fetch->errstr;
my $rss = XML::RSS->new;
$rss->parse($fetch_response->content);
die 'no items' if @{$rss->{items}} == 0;
my $item = $rss->{items}->[0];
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst)
= localtime(str2time($item->{pubDate}));
my $title = $item->{title};
my $mood
= sprintf("$title [%02d/%02d %02d:%02d]", $mon + 1, $mday, $hour, $min);
$mood = Encode::encode('shiftjis', $mood);
my $skype = Win32::OLE->new('Skype4COM.Skype');
$skype->Client->Start unless $skype->Client->IsRunning;
my $profile = $skype->CurrentUserProfile;
$profile->{MoodText} = $mood;
インストール済みだった ActivePerl 5.8.8.822 で動作を確認(ちなみに現時点での最新は ActivePerl 5.10.0.1003)。なお URI::Fetch、XML::RSS、Date::Parse(TimeDate) は標準では入っていないので PPM パッケージでインストール。
タスク スケジューラで10分毎に上記のスクリプトを wperl.exe で実行するように設定。 これで Windows 上でもさえずりをムードメッセージに設定できるようになった。
- Twitter への書き込みを自動的に Skype ムードメッセージに設定する (2008-02-25)
- 今日のさえずり - 時報というやつも初めて見た (2010-01-25)
- Twitter ステータスを nDiki サイドバーに表示 (2007-11-09)
- ちょっと複雑なネット用統合アドレス帳 Ripplex (2008-04-30)
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.02403s / load averages: 0.11, 0.16, 0.11
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)




◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。