Thu, 14 Sep 2006

del.icio.us API

やっぱりそうかー。しばらく前からBookmarkスクリプトが動かなくなったのでおかしい なーもしかしてAPI変わってるのかなぁ?と思いながら放置していたところ上記エント リを見つけました。早速修正したところ無事に動きました。感謝。


Sun, 14 Aug 2005

del.icio.usからはてなブックマークへデータのコピー

del.icio.us から はてなブックマーク へブックマークをコピーしてみました。

del.icio.usも使いやすくて結構気に入ってるのでメインで使うにはいいんだけど、はてなに比べるとコメントが少なくてちょっとさみしいです。はてなの方が日本語だしコメント多いし、ちょっと2chの香りがすることを除けば結構おもしろいですね。

コピーする際には、 ueBLOG: pythonで「del.icio.us」のデータを「はてなブックマーク」にエクスポート のスクリプトを利用させて頂きました。

※ 特にファイル名が見当たらなかったので勝手にdelicious2hatena.pyとファイル名をつけてしまいましたが、正式なファイル名があればもちろん修正させていただきます。

ただ、 nirvashの日記 - del.icio.us からはてなブックマークへミラー にあるようにたくさんのブックマークを実施しようとすると途中でタイムアウトしてしまいました。

Traceback (most recent call last):
 File "delicious2hatena.py", line 67, in ?
   dei.postHatenaBookmark('all','tag_extended')
 File "delicious2hatena.py", line 60, in postHatenaBookmark
   print hatenaBookmark.postData(url,comment.encode('utf-8'))
 File "/usr/lib/python2.4/site-packages/hatenaBookmark.py", line 51, in postData
   return requestToAtom('POST','/atom/post',body)
 File "/usr/lib/python2.4/site-packages/hatenaBookmark.py", line 43, in requestToAtom
   res = h.getresponse()
 File "/usr/lib/python2.4/httplib.py", line 862, in getresponse
   response.begin()
 File "/usr/lib/python2.4/httplib.py", line 333, in begin
   version, status, reason = self._read_status()
 File "/usr/lib/python2.4/httplib.py", line 291, in _read_status
   line = self.fp.readline()
 File "/usr/lib/python2.4/socket.py", line 325, in readline
   data = recv(1)
socket.timeout: timed out

で、nirvashさんが手を加えた方法だと何日前まで行って失敗したかを計算しないといけないので、何月何日から何月何日までという指定の仕方を追加したかったのでちょっとHackしてみようかなーと思ったんだけど、一杯飲みながらやってたので大分頭が回らなくなってきたし、失敗したのは古いブックマークなのでわざわざコピーしなくてもいいかな、という気になったので放置する方向で行きます。

使わしていただいた本スクリプトは非常に良いのですが、ちょっとだけ残念な点としてはタイムアウトしてしまうのと、mode="all"にした場合に新しいブックマークから順次はてなにコピーされてしまう点でしょうか。はてなブックマークでは後から登録したほうが上にくるので、del.isio.usの方で新しく登録したブックマークがはてなでは下のほうに行ってしまったのが残念だったかな。

あと今はdel.icio.usへの登録は firefoxのdel.icio.usプラグイン を使ってるのでこういった形でdel.icio.usとはてなの両方にいっぺんに登録できるようなプラグインが欲しいな。