Weblog

Bloglines checker

Posted at 2003-10-10T23:19:00+09:00 in RSS

しつこく引いてみる。

Bloglinesは登録したRSSファイルが更新されていた場合、星マークのついた画像を表示するページに切り替えるという形の、 New Item Notifierという機能があります。これがまた非常に使いづらいんです。しかし、これ以外に更新通知の機能は用意されていないので、このページを利用して、比較的使いやすいチェッカーみたいなものをPerlで作ってみました。

New Item Notifierは、ログインは不要で、

http://www.bloglines.com/notifier?user=<登録したメールアドレス>

というURLにアクセスするだけなので、このURLの中味を簡単に解析すれば良いわけです。更新が無い場合は、title要素にNo Updateという文字列が入るようなので、この文字列が無かった場合に何らかのアクションをするスクリプトを書いてやればOK。で、どうやって通知するかということをいろいろ考えたんですが、クイック起動を使うことにしました。クイック起動のフォルダに、更新があった場合は黄色のスマイリー・アイコン、更新が無い場合は灰色のスマイリー・アイコンのMy Blogsへのインターネット・ショートカットを作ってやるということです。スクリプトはこんな感じ。

#!/usr/local/bin/perl

use strict;

use LWP::Simple;

my $lnkfile = 'C:\Documents and Settings\UserName\Application Data\Microsoft\Internet Explorer\Quick Launch\Bloglines.url';

my $email = 'your@mail.address';

my $content = get("http://www.bloglines.com/notifier?user=$email");

if ($content) {
  if ($content !~ /No Update/) {
    open(LNKFILE, ">$lnkfile") or exit;
    print LNKFILE <<"_EOF_";
[InternetShortcut]
URL=http://www.bloglines.com/myblogs
IconFile=C:\\Icons\\Update.ico
IconIndex=0
_EOF_
    close(LNKFILE);
  }
  else {
    open(LNKFILE, ">$lnkfile") or exit;
    print LNKFILE <<"_EOF_";
[InternetShortcut]
URL=http://www.bloglines.com/myblogs
IconFile=C:\\Icons\\NoUpdate.ico
IconIndex=0
_EOF_
    close(LNKFILE);
  }
}

exit;

インターネット・ショートカットは、普通のショートカットと違い、INI形式の単純なテキストファイルなので、こんなんで楽勝です。アイコンはこんな感じです。

Bloglines checker - Update

Bloglines checker - No Update

あんまり深く考えること無しに作ったけどなかなか良い。

追記@2003/10/11

このスクリプトはチェックして終了してしまうので、タスク・スケジューラなんかで定期的に実行しないと、あまり意味はありません。

Recent entries from same category

同じカテゴリに分類された最近10件のエントリです。

  1. Web Bugをフィードに埋め込む
  2. Bloglinesとlivedoor Readerのアクティブ・ユーザー
  3. 購読者の内訳
  4. livedoor Reader
  5. Bloglinesにホットキーが導入
  6. ITmediaがフィード配信を開始
  7. Feed History
  8. 購読者数の推移
  9. フィード向け広告
  10. VistaのRSSサポート

Comments

JavaScriptに対応または有効な環境の場合、ここにはてなブックマークでのこのエントリに対するコメントが表示されます。

Weblog archives

by Category

This page was last modified on 2004-12-21T16:43:24+09:00 (in 0.188 secs).