livedoor ClipにクリップするPerlスクリプト
スポンサードリンク
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フラグの動きがおかしかったので修正しました。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/1722
コメントする