LDRのピンを取得してはてな記法にしてクリップボードにコピーしたい(2)

というわけでPerlスクリプト書いたけど、そもそもLDRにはピンを取得する公開APIが現在は無いので、
自分でScrapeする必要がある。WWW::Mechanizeの操作が面倒っぽかったので、ひとまず外部プログラムに頼った。

PHPをinstallする羽目に。rhaco.orgも必要だったのでそれも。
Perlだけでやりたいけど気が向いたらしよう。

以下コードの流れ。

  1. JSON形式でLDRピンをPHPプログラムで取得、ファイルにいったん出力。
  2. JSONファイルからタイトルとURIを取得。UTF8になってるのでWindowsで取り扱いやすくSJISに変換。
  3. フィードから得たURIはリダイレクトされてソースを指していないことが多いのでLWP::UserAgentでアクセスして取得。
  4. 同じく、タイトルがソースののものではないことがあるので、ついでに取得
  5. タイトルとURIは配列リファレンスに保存しといて、はてな記法に変換。
  6. 出力先はクリップボードにしたかったので、Win32::Clipboardを使ってコピー。でおわり。

2009-02-13:もっとましなコードが書けたのでここは閉じておく。