M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2006年6月28日 21:25

livedoor ClipにクリップするPerlスクリプト

このエントリーをはてなブックマークに追加 mixiチェック

livedoor Clip [clip.livedoor.com] にクリップします。ニフティクリップβの時とは違って、誰か絶対作ると思っていたらもうにぽたんでやってましたので、WWW::Mechanizeの習作としてみてくれればと思います。

#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
use utf8;
use Encode;
 
# ID/Password
 
my $username = 'abc01234',
my $password = 'xxxxxxxx',
 
 
# WWW:Mechanize スタート
#
 
my $mech = WWW::Mechanize->new();
my $mechurl = "http://clip.livedoor.com/clip/add";
$mech->get($mechurl);
 
 
# $mechurl から http://member.livedoor.com/login/ に遷移
# ログインフォーム入力
 
$mech -> submit_form (
  form_name=>'loginForm',
  fields => {
    livedoor_id => $username,
    password    => $password,
  },
);
 
# ログイン後 http://member.livedoor.com/login/ から $mechurl に遷移
 
# Clip Entry
 
my $title   = 'M.C.P.C.: livedoor ClipにクリップするPerlスクリプト',
my $url     = 'http://blog.dtpwiki.jp/dtp/2006/06/mcpc_livedoor_c_0bfa.html',
my $comment = 'livedoor ClipへPerlスクリプトでブックマークします。要WWW::Mechanize。http://blog.livedoor.jp/nipotan/archives/50533803.html の方がエレガント',
my @taglist = ('Perl', 'livedoorclip', 'ライブドアクリップ');
my $r18_flag    = 0; # 1->R18
 
# 一応明示的に移動。ループで使うために
 
$mechurl = "http://clip.livedoor.com/clip/add?link=$url&form=1";
 
$title   = Encode::encode('utf8', $title);
$comment = Encode::encode('utf8', $comment);
my $tags = join(' ', @taglist);
$tags    = Encode::encode('utf8', $tags),
 
$mech->get($mechurl); #
 
# Form にクリップ項目入力
 
if ($mech->uri() =~m|^http://clip.livedoor.com/clip/add|) {
  $mech -> form_name('clip');
  $mech -> set_fields (
    title   => $title,
    notes   => $comment,
    tags    => $tags,
  );
  $mech -> tick('r18','1') if $r18_flag;
}
if ($mech->uri() =~m|^http://clip.livedoor.com/clip/edit|) {
  $mech -> form_name('edit_form');
  $mech -> set_fields (
    notes   => $comment,
    tags    => $tags,
  );
}
 
 
$mech -> submit(); 


(2006-06-28 23.01訂正)

r18フラグの動きがおかしかったので修正しました。

投稿 大野 義貴 [Perl] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/1722

コメントする