木っ端微塵

wushi Broken into fragments.

2007-04-23

[]携帯のブックマークファイル(*.VBM)をリストに変換するスクリプト 22:46 はてなブックマーク - 携帯のブックマークファイル(*.VBM)をリストに変換するスクリプト - 木っ端微塵

自分用メモ。はてなの携帯ゲートウェイと携帯向けURLはPC向けに変換。後はそのまんま。

ほんとはディレクトリとか解析してFirefoxあたりのブックマーク形式に合わせて変換するのが良いんだろうけど。

BEGIN{
  print '<ol>';
  $title='';
  $url='';
}

while (<>){
  $title=$1 if(/^TITLE:(.+)$/);
  if(/^URL:(.+)$/){
    $url=$1;
    $url=~s/http:\/\/mgw\.hatena\.ne\.jp\/\?(url=)?(.+)/$2/;
    $url=~tr/+/ /;
    $url=~s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2',$1)/eg;
    if($url=~m!^http://d.hatena.ne.jp!){
      $url=~s/mobile\?date=//;
      $url=~s/\&section=/\//;
    }
  }
  if(s/BEGIN:VBKM/\<li\>/){
    print;$title='';
    $url='';
  }
  if(s/END:VBKM/\<\/li\>/){
    $title=$url if(!$title);
    print '<a href="',$url,'" target="_blank">',$title,'</a>';
  }
}

END{
  print '</ol>';
}

そう言えば、ソーシャルブックマークってまるごとエクスポートする機能が無いですよね。なんでかな。

(4/25 追記) リンクテキストが1個ずれちゃってたので修正。

(10/18 追記) mgw.hatena.ne.jp引数に(url=)?を追加。ワンライナーじゃなくてただのperlスクリプトにする。

トラックバック - http://fragments.g.hatena.ne.jp/wushi/20070423