概要: del.icio.us やはてなブックマークから Feed の一覧を取得する。
前に、
- Plagger 使ってブラウザからオートディスカバリ /post/50888719481
- Plagger で Firefox から抽出した OPML を LDR にインポートした /post/50891534339
でやったオートディスカバリを del.icio.us やはてなブックマークからやってみた。
設定はこんな感じ。
SBM2OPML.yaml ( global は省略 )
plugins: # del.icio.us - module: Subscription::Bookmarks config: browser: Mozilla path: /path/to/delicious.html # Hatena Bookmark - module: Subscription::Bookmarks config: browser: Mozilla path: /path/to/hatena-bookmark.html - module: Filter::Rule rule: module: Deduped path: /tmp/var.db - module: Publish::OPML config: filename: /path/to/SBM.opml
使っている SBM が del.icio.us とはてなブックマークなので、それらから Mozilla 形式でエクスポート、 それを購読して OPML を出力する、という感じ。
たまに Plagger がエラー吐いて停止するサイトとかあるので、そういうのに遭遇した場合、 Aggregator 系のプラグインに rule を指定して、そういうサイトを除外するようにすると問題なくなる。
ただ、Plagger が読み込んだ URL-A から見つかった Feed(URL-B)に問題があった場合、 URL-B を除外するようにしても何故か除外できなかったので、発見元の URL-A を除外する必要がある。 なので、問題があった Feed の前の URL も注意したほうが言いかもしれない。
今回抽出できた Feed は全部で 360 件で購読していたのが 217 件、最終的に購読したのが 12 件だった。 まあ今回はそれなりに収穫があったと思う。 ちなみに全部購読したら LivedoorReader の未読がすごいことになりました。
で、まあ、今回は一発でできたんだけど、エクスポートされる形式が RSS や Atom なんかの Feed だと 一発でできなかったりする。
そういう場合、まず最初に Feed からブックマークしたエントリの URL を抽出して、 次に抽出した URL の一覧から Feed を探し出すと言う風になる。
つまりこういう感じ。
SBM2EntryList.yaml ( global は省略 )
plugins: - module: Subscription::Config config: feed: - url: file:///path/to/export.rss - module: Publish::File config: filename: /path/to/entry_list.txt
EntryList2OPML.yaml ( global は省略 )
plugins: - module: Subscription::File config: file: file:///path/to/entry_list.txt - module: Filter::Rule rule: module: Deduped path: /tmp/var.db - module: Publish::OPML config: filename: /path/to/SBM.opml
Publish::File については Plagger::Plugin::Publish::File /post/50888722332 を参照。
ちなみに Feed のエントリのリンクがブックマークしサイトの URL なら問題ないんだけど、 はてなブックマークの RSS/Atom Feed みたいにそうなってない(Plagger で扱うとはてなブックマーク内のリンクになってる) 物だとうまくいかない、けど多分大体の SBM でうまくいくんじゃないかと思う。
思ってるだけで実際にはやってない(そもそもそういうタイプの SBM は使ってない)ため、 ちゃんと動くかどうかは知らない。当然エクスポートできないサイトだと無理。あくまで参考程度に。
今回は 前にやったブラウザからのオートディスカバリ /post/50888719481 よりもうまくいった。 多分量が少なかったとかあるだろうけど。
とりあえず膨大な未読をなんとかしよう。