Delicious BookmarkのエクスポートをEvernoteへ
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>';
Trackbacks:0
- TrackBack URL for this entry
- https://www.markdiary.com/mt/app-pingback.cgi/64
- Listed below are links to weblogs that reference
- Delicious BookmarkのエクスポートをEvernoteへ from maRk lab
Comments:0