Home > memo > Delicious BookmarkのエクスポートをEvernoteへ

Delicious BookmarkのエクスポートをEvernoteへ

  • Posted by: maRk
  • memo

Delicious BookmarkでエクスポートしたファイルをEvernoteにとりこむことにしました。

本当のところはJSON形式のファイルに加工しなおして再利用してみようかとおもったんですが、Evernoteでもいいかとおもってそのようにすることとしました。

取り込むときにDeliciousのエクスポートファイルはHTML形式ですが、Netscape Bookmark File Formatにより、そのままHTMLとして出力したものだとちょっと物足りないものがあります。

そこで、一旦落としてきたエクスポートファイルを以下のように加工したものをEvernoteに保存しています。

Perlで加工する

Web::Scraperを使ってタグと登録時刻の情報を追加して以下のようなかんじに。

時間の情報を取り込もうとしていたら、add_dateという属性の値がエポック秒というものらしくて、これを変換するのにDateTimeを使う事にしました。

#!/usr/bin/perl -w

use strict;
use Web::Scraper;
use URI;
use CGI;
use utf8;
use Encode;
use DateTime;

print CGI->header(-charset=>'utf-8', -type=>'text/html');


my $url = "http://localhost/cgi-bin/bookmark.html";

my $scraper = scraper {

    process "dt>a",

      'results[]' => { 'link' => '@href' ,
                       'title' => 'TEXT' ,
                       'tags' => '@tags' ,
                       'time' =>'@add_date' ,
      };

};

my $res =  $scraper->scrape( URI->new($url));

my $header = <<"HERE";
<!DOCTYPE html>
<meta charset="utf-8">
<title>Bookmarks</title>
HERE

open (OUT, ">bookmarklist.html");
      print OUT $header;
print OUT '<ul>';

for my $bookmark (@{$res->{results}}) {
	  print OUT '<li><a href="' . $bookmark->{link}. '">'; 
	  print OUT encode('utf-8', $bookmark->{title}) .'</a>';
      print OUT ' : ' . $bookmark->{tags} . ' : ';
	  print OUT DateTime->from_epoch(epoch => $bookmark->{time} , time_zone => 'local' );
	  print OUT '</li>' . "\n";
}

print OUT '</ul>';

print $header;
print '<P><A HREF="bookmarklist.html">TEST</A></P>';

Comments:0

コメントする

Trackbacks:0

Home > memo > Delicious BookmarkのエクスポートをEvernoteへ

Search

Feeds

Return to page top