はてブのブックマークをdel.icio.usとLivedoor クリップに移す

普段ブックマークには,はてなブックマークを使ってるんだけれど,世のため人のためにdel.icio.usとLivedoor クリップにミラーするよ,Plaggerで.まぁ,これもベーシックなPlaggerレシピっぽいけど.

はじめ,Subscription::HatenaBookmarkかCustomFeed::HatenaBookmarkあたりがあるかと思っていたんだけど,そこは普通にはてブがはいてるRSSを使うのが良いよう.はてブは全ブックマークを保持したRSSとかは吐いてくれない.なので,15件ずつブックマークを持ったRSSを大量に準備して少しずつdel.icio.usとLivedoor クリップに登録していく.

  - module: Subscription::Config
    config:
      feed:
        - url: http://b.hatena.ne.jp/hakobe932/rss?of=1095
        - url: http://b.hatena.ne.jp/hakobe932/rss?of=1080
        - url: http://b.hatena.ne.jp/hakobe932/rss?of=1065
        # まだまだ続く

ここで,RSSのURLは降順で記述した方が良さそう.http://b.hatena.ne.jp/hakobe932/rss?of=0が最新のブックマークのURLになるので,一番最新のブックマークが一番最後にはいるようになる.

で,あとはこれをPublish::DeliciousやPublish::LivedoorClipすれば良いと.最終的なYAMLはこつら.

global:
  assets_path: /home/yohei/plagger/my-assets
  timezone: Asia/Tokyo
  log:
    level: info

plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://b.hatena.ne.jp/hakobe932/rss?of=1095
        - url: http://b.hatena.ne.jp/hakobe932/rss?of=1080
        - url: http://b.hatena.ne.jp/hakobe932/rss?of=1065
        # まだまだ続く

  - module: Aggregator::Simple

  - module: Publish::Delicious
    config:
      username: username
      password: password
      interval: 2
      post_body: 0

  - module: Publish::LivedoorClip
    config:
      livedoor_id: username
      password: password
      interval: 2
      post_body: 0

この結果,うちのはてブは無事del.icio.usとLivedoor クリップにマージされた.

ま,なんか数件マージしきれてないようだけど気にしない.

実際はやるときははてブRSSが時々アクセスできなくてタイムアウトすることもおおいし,あんまり一気にやるのもどうかと思うので小分けにしてやるのが良さそう.あとこれ,それなり時間かかる.少なくともブックマーク一件に対して4秒はsleepするので1000件ブックマークあると,4 * 1000 / 60 = 66分とか.

これやっててわからなかったのは,コメントごとブックマークを移動する方法.はてブなりdel.icio.usなりのRSSだとコメントは,各エントリのdescription要素になってる.ちょっとだけ見てみると,そもそもPlagger::Entryはdescriptionを扱ってない?なんかクールな解放があるのやも.