Jul 10, 2007

Fastladderを使い始めた

livedoor Readerの海外版のFastladderがリリースされました。
どうやって使おうか微妙に悩んでたのだけれど、シンプルにFastladderに興味のある人のOPMLをインポートしまくって、livedoor Readerで購読しているフィードをFastladderから削除することにした。(逆でもいいけど既読管理とかあるので、追加分をFastladderに寄せた)

livedoor Readerで既に購読しているフィードのURLを保存する

livedoor Readerでスクリプトを実行する。Firebugとか、javascript:を付けてアドレスバーに貼り付ける。「既読フィードも表示」の状態で実行する。

feedlinkをJSONで保存
prompt("これをコピーする",subs.model.list.pluck("feedlink").toJSON());

サイトURLをJSONで保存。
prompt("これをコピーする",subs.model.list.pluck("link").toJSON());

Fastladderからlivedoor Readerで既に購読しているフィードを削除

こちらも「既読フィードも表示」の状態で実行。

フィードURLを一括で削除
(function(){var c=prompt("さっきの貼り付ける");if(!c)return;var d=eval(c);var m={};d.forEach(function(s){m[s]=1});var total=0;var p=0;var wait=100;subs.model.list.forEach(function(s){if(m.hasOwnProperty(s.feedlink)){new API("/api/feed/unsubscribe").post({subscribe_id:s.subscribe_id},function(){p++;message(total-p)});total++}}.later(wait+=100))})();


RSSとAtomを重複して購読してたりするのが多いので、それも削除する。サイトURLが同じフィードを一括で削除。ただし検索結果のフィードなんかでトップページのURLが同じになってるのがあるので、フィードに?を含まないものに限定して削除。

(function(){var c=prompt("さっきの貼り付ける");if(!c)return;var d=eval(c);var m={};d.forEach(function(s){m[s]=1});var total=0;var p=0;subs.model.list.forEach(function(s){if(m.hasOwnProperty(s.link) && s.feedlink.indexOf('?')==-1){(function(){new API("/api/feed/unsubscribe").post({subscribe_id:s.subscribe_id},function(){p++;message(total-p)})}).later(100*total)();total++}})})();


最初に試したときにブラクラになったのでウェイトを入れるようにした。ウェイト入れる位置違うけど、まあどちらでも動く。OPMLを使ってここら辺の操作を簡単にできるようにしておけばそれなりに需要があるような気がする。OPMLの差分を取ったり重ね合わせてレートを決めたり。

購読フィードは合わせて7000件ぐらいになった。
Posted at 20:38 | WriteBacks (9) | Edit
Edit this entry...

wikieditish message: Ready to edit this entry.
















A quick preview will be rendered here when you click "Preview" button.