otsune's SnakeOil RSSフィード

python -c "print''.join([chr(x) for x in 111&1101,110+~-~11,10^11*11,110+~-~11,-~101,-~11^11*11,~-110,111&11*11,11+11+10,11|~-0110,1-~11^11*11,10^11*11,-~11^11*11,110,101])"

2006-05-17

誰かのはてなブックマークをGmailに記録する方法

| 誰かのはてなブックマークをGmailに記録する方法 - otsune's SnakeOil  を含むブックマーク はてなブックマーク - 誰かのはてなブックマークをGmailに記録する方法 - otsune's SnakeOil  誰かのはてなブックマークをGmailに記録する方法 - otsune's SnakeOil  のブックマークコメント

例としてb:id:laisoさんで。

~/bin/laiso.pl

#!/usr/bin/perl

use strict;
use LWP::UserAgent;
use HTTP::Status;
use Plagger;

my $hatena_user = 'laiso';
my $config = '/home/otsune/plagger/config-laiso.yaml';

my $ua = LWP::UserAgent->new();
my $resp = $ua->mirror("http://b.hatena.ne.jp/$hatena_user/rss", "$hatena_user.cache.rss");
if( $resp->code == RC_NOT_MODIFIED ) { die "304\n"; };
$resp->is_success or die "not found\n";

Plagger->bootstrap(config => $config);

plagger/config-laiso.yaml

include:
  - /home/otsune/plagger/config.base.yaml

plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://b.hatena.ne.jp/laiso/atomfeed

  - module: Aggregator::Simple
  - module: Filter::AtomLinkRelated

  - module: Filter::Rule
    rule:
      module: Fresh
      mtime:
        path: /tmp/cache/laiso.tmp
        autoupdate: 1
                                         
  - module: Publish::Gmail
    config:
      mailto:   example+laiso@gmail.com
      mailfrom: example+plagger@gmail.com
      mailroute:
        via: smtp
        host: 127.0.0.1

Publishをdel.icio.usなどに変えると、ソーシャルブックマーク勝手ミラーも出来たりする。

もちろんPublishをCHTMLなどにすれば、簡易ニュースサイトの出来上がり。

crontabで~/bin/laiso.plを5分おきに呼び出す感じで。

(追記:なんで.plでrssを更新チェックしているのかというと、はてなブックマークサーバーにatomfeedを問い合わせるとLast-Modified:ヘッダーを返してくれないから)

トラックバック - http://subtech.g.hatena.ne.jp/otsune/20060517