概要: del.icio.us からリニューアルしたはてなブックマークに乗り換えた。
はてなブックマークがリニューアルして全文検索が付いたので、最近ブックマークもめっきり使ってなかったし、 まあしばらく使えなくても問題ないやということで、del.icio.us とはてなブックマークのブックマークをバックアップして、 両方とも一旦全部消して、んでバックアップを書き戻してみたいな事をやってました。
今のところはてなブックマークを普通のブックマークに、 del.icio.us の方をコメント先とトラックバック先のメモに使うようにしてみたんですが、 これがなかなかいい感じ。
特にはてなブックマークでインクリメントに全文検索できるのがステキ。 まあ前々から tagging はゆれがあるしアテにならないし面倒だしと思ってたので、 全文検索ができるのは大きなポイント。
でまあ使い心地はおいといて、最初 del.icio.us からエクスポートしたブックマークからいらないものを取り除いて、 サクっとインポートしたらいいんじゃね?と思ってたんだけど、何が悪いのか何回やってもうまくいかなかったので、 仕方なく Perl で以下のようなスクリプトを書いてインポートした。
#!perl
use strict;
use warnings;
use XML::Atom::Client;
use XML::Atom::Entry;
use Time::HiRes qw(sleep);
use HTML::TreeBuilder::XPath;
my $username = '<username>';
my $password = '<password>';
my $file = shift @ARGV or die "Usage: import.pl {bookmark}.html";
my $client = XML::Atom::Client->new;
$client->username($username);
$client->password($password);
my $tree = HTML::TreeBuilder::XPath->new;
$tree->parse_file($file);
my @entries = ();
my $nodes = $tree->findnodes('//a');
for my $node ( $nodes->get_nodelist ) {
my $link = $node->findvalue('@href');
push @entries, $link;
}
for my $url ( reverse @entries ) {
my $entry = XML::Atom::Entry->new;
my $link = XML::Atom::Link->new;
$link->rel('related');
$link->type('text/html');
$link->href($url);
$entry->add_link( $link );
my $loc = $client->createEntry('http://b.hatena.ne.jp/atom/post', $entry);
if ( $loc ) {
print "success: $url\n";
}
else {
print "failed: $url\n";
}
sleep(1);
}
使い方はスクリプトを保存して
import.pl {ブックマーク形式のHTML}.html
で実行すれば OK。なんかたまに POST に失敗するときがあるので、 プロンプトへの出力をファイルにリダイレクトして後で確認するとかしたほうがよさげ。 あと一回ごとに一秒スリープしてるので、ブックマーク数が多いと時間がかかるかも知れません。 それとコメントは全部吹っ飛ぶのでその辺り注意。
ちなみにはてなブックマークへの POST の部分は Plagger の Publish::HatenaBookmark を参考にしました。 まあ XML::Atom を使ってるだけですが。
あとこのスクリプト、HTML ファイルから a 要素抜き出して href 取得して POST してるだけなので、 別にブックマーク形式の HTML じゃ無くても動きます。使い道あるかどうかわかんないけど。
まあスクリプトの話は切り上げるとして、やっぱりインクリメントに全文検索はいいですな。 欲しい情報がすぐ出てくるし。まあブックマークした内容を 完全に忘れてる ので、 読み返しそうもない情報とかもありますが。
あとやっぱり時代は全文検索です。 全文検索です 。大切なことなので何回も言います。 全文検索が無かったら果て部、じゃなかったはてブなんて使ってませんよ。
まあこれではてなブックマーカーになるわけですが、クネクネとかはしないでしょう。興味ないし。 まあネガコメぐらいはあるかも知れないけど。
ま、これから気になった記事とかをブックマークしていきまかねぇ。
#FIXME