CPANモジュールのWebService::SyncSBS::D2Hを使って、Deliciousはてブを同期させた。

I have synced two Social Bookmark Services, Delicious and Hatena by using WebService::SyncSBS::D2H.

WebService::SyncSBS::D2H – del.icio.us and hatena bookmark sync – search.cpan.org

/home/sho/src/perl/070204_delicious2hateb/d2h.pl

usestrict;

usewarnings;

useutf8;

useWebService::SyncSBS::D2H;

my$sbsync=WebService::SyncSBS::D2H->new({

delicious_user=>”your-delicious-username”,

delicious_pass=>”your-delicious-password”,

hatena_user=>”your-hatena-username”,

hatena_pass=>”your-hatena-password”,

delicious_recent_num=>40,

});

$sbsync->sync;

use utf8;しておかないと、delicious側で日本語タグを付けた時にはてブ側で文字化けする。

そしてcrontabで30分毎に回す。

*/30 * * * * /usr/bin/perl /home/sho/src/perl/070204_delicious2hateb/d2h.pl

実際動かすのはすぐだったけど、cpanモジュールを入れるのに手こずった。



■WebService::SyncSBS::D2Hのインストール

XML::LibXMLとSSLとutf8のインストールが面倒。

Debian3.1だとすぐ使えたけど、VineLinux3.2だとNet::Deliciousが動かなかった。cpanからインストールしてtest通ったのに実際には動かなかったので、synopsisのrecent_postsを試してちゃんと一覧が返ってくるか確かめる必要アリ

perlのXML::LibXMLが必要としているlibxml2のバージョンよりも、Vine3.2のは古いので、Vine4から取ってきてインストールする

参考:ハヤテのごとく!プライスレス の管理人blog Vine Linux に Plagger インストール

wget http://www.ring.gr.jp/pub/linux/Vine/Vine-4.0/i386/Vine/RPMS.main/libxml2-2.6.26-0vl1.i386.rpm

wget http://www.ring.gr.jp/pub/linux/Vine/Vine-4.0/i386/Vine/RPMS.main/libxml2-devel-2.6.26-0vl1.i386.rpm

rpm -U libxml2-2.6.26-0vl1.i386.rpm libxml2-devel-2.6.26-0vl1.i386.rpm

openssl入れる

apt-get install openssl openssl-devel

cpanで

install XML::SAX::Expat

install XML::Simple

install XML::LibXML

install Net::SSLeay

install Crypt::SSLeay

force install utf8

install Encode

install WebService::SyncSBS::D2H

全部Enter連打で。utf8はperl5,8.8が必要らしいのでforceで強制インストール(時間がかかるがこれも全部Enter)

これでrecent_posts()を試して動けば、WebService::SBS::D2Hも動くはず