人気ブログランキング | 話題のタグを見る
livedoorクリップのタグをリネームする "Perl" スクリプト
livedoorクリップのタグをリネームするRubyスクリプト - むぅもぉ.jp
たぶんPerlで書いたらCPANのモジュール使えるかっらもっとシンプルに書けたのかな。

API, delicious compatible - livedoor クリップ まとめサイト - livedoor Wiki(ウィキ)
Net::Delicious を endpoint 変更のみでそのままご利用いただけます。


面白そうだったのと、Net::Delicious を使うと簡単に出来そうだったので、やってみました。

ldc_tag_rename.pl

use strict;
use warnings;
use Net::Delicious;

my $livedoor_id = "your_livedoor_id";
my $apikey = "your_api_key";

my $old_tag = shift or die "usage: $0 old_tag [new_tag]\n";
my $new_tag = shift;

my $ldc = Net::Delicious->new(
{ user => $livedoor_id,
pswd => $apikey,
endpoint => 'http://api.clip.livedoor.com/v1/',
debug => 0,
}
);

for my $post ( $ldc->posts( { tag => $old_tag } ) ) {
my $tags = $post->tags;
$tags =~ s/$old_tag/$new_tag/;

$ldc->add_post(
{ url => $post->url,
description => $post->description,
extended => $post->extended,
tags => $tags,
}
);
print $post->url, "\n";
sleep 1;
}


スクリプトの "your_livedoor_id" の部分に livedoor の ID、"your_api_key" の部分に API Key を入力してから使います。

実行する時は、コマンドライン引数に「変換前のタグ」と「変換後のタグ」を指定します。「変換後のタグ」を指定しないと、タグが削除されます。

# perl ldc_tag_rename.pl google Google


元エントリと同様に、実際に使う場合は自己責任でお願いします。自分で使ってみた限りでは、特に問題なく動作しましたが。


余談だけど、Net::Delicious に "$obj->rename_tag(\%args)" というメソッドがあって、一瞬期待したけど、livedoor クリップではまだ実装されていないらしかった。残念。


# 元エントリに trackback 打とうと思ったけど、URL が分からないなぁ。
by fkmn | 2008-01-14 23:55 | IT
<< デブサミ2008の参加申し込みをした 「なぜ通勤に電車を使わないの?... >>


とあるWebアプリケーションエンジニアの日記

by fkmn
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
カテゴリ
以前の記事
ブログパーツ
リンク
検索
タグ
最新のトラックバック
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧

fkmnの最近読んだ本 フィードメーター - フッ君の日常 あわせて読みたい AX