はてなブックマークAtomAPIで大量登録 #perl
自宅Wikiから抽出したURLをエクスポートできました。
リンク: はてなダイアリー - はてなブックマークAtomAPIとは.
Mac miniでは
CPANのお世話になり、以下のように必要なモジュールをインストールした。
sudo perl -MCPAN -e shell install DateTime
install Digest::SHA1
blink.jpよりブックマークをはてなに取り込む
以下のスクリプトでurlのみを抽出し、リダイレクトでファイルに落とす。
#!/usr/bin/perl
while(<>) { if(/HREF=\"(.*)\" ADD_DATE/) { print $1 . "\n"; } }
#!/usr/bin/perl use strict; use warnings; use DateTime; use Digest::SHA1 qw (sha1); use HTTP::Request; use MIME::Base64 qw (encode_base64); use LWP::UserAgent; my $username = 'ユーザID'; my $password = 'パスワード'; while(<>) { my $regUrl = $_; my $nonce = sha1(sha1(time() . {} . rand() . $$)); my $now = DateTime->now->iso8601 . 'Z'; my $digest = encode_base64(sha1($nonce . $now . $password || ''), ''); my $credentials = sprintf(qq(UsernameToken Username="%s", PasswordDigest="%s", Nonce="%s", Created="%s"), $username, $digest, encode_base64($nonce, ''), $now); my $req = HTTP::Request->new(POST => 'http://b.hatena.ne.jp/atom/post'); $req->header( Accept => 'application/x.atom+xml, application/xml, text/xml, */*'); $req->header( 'X-WSSE' => $credentials ); $req->content_type('text/html'); my $content = ""; $req->content($content); print LWP::UserAgent->new->request($req)->as_string; } " . "
<p>dummy</p> " . "
" . "
" . "
関連記事
- #trouble #solved #ffmpeg 連番って連番でないとno such file error!を食らう!
- IE7をPerlで操る
- find2perl
- 古いCPANモジュールのアップデート方法
- Perl/TkでIP Messenger
- Perl XMLでencoding='Shift_JIS'や'euc-jp'を使う
- はてなブックマークAtomAPIで大量登録
- \のコードを含む2バイト文字の対応
- find2perl
- LWP::Simpleのプロキシ設定
- やっぱりあったbasename