LDRのピンを取得してはてな記法にしてクリップボードにコピーしたい(2)
というわけでPerlスクリプト書いたけど、そもそもLDRにはピンを取得する公開APIが現在は無いので、
自分でScrapeする必要がある。WWW::Mechanizeの操作が面倒っぽかったので、ひとまず外部プログラムに頼った。
PHPをinstallする羽目に。rhaco.orgも必要だったのでそれも。
Perlだけでやりたいけど気が向いたらしよう。
以下コードの流れ。
- JSON形式でLDRピンをPHPプログラムで取得、ファイルにいったん出力。
- JSONファイルからタイトルとURIを取得。UTF8になってるのでWindowsで取り扱いやすくSJISに変換。
- フィードから得たURIはリダイレクトされてソースを指していないことが多いのでLWP::UserAgentでアクセスして取得。
- 同じく、タイトルがソースの
のものではないことがあるので、ついでに取得 - タイトルとURIは配列リファレンスに保存しといて、はてな記法に変換。
- 出力先はクリップボードにしたかったので、Win32::Clipboardを使ってコピー。でおわり。
2009-02-13:もっとましなコードが書けたのでここは閉じておく。