GameSprit

自転車やMac・AppleScript、映画・小説やドラマのレビュー、備忘メモ・クイズなどを置いています。

AppleScript:goo 郵便番号検索を自動化

2008-10-05 13:46:19 | AppleScript
goo 郵便番号検索 を利用して、AppleScript を使って住所の一部を入力して郵便番号を検索してみました。


goo 郵便番号検索のページで、『住所からさがす(住所の一部を入力して郵便番号を検索します)』を使います。

例えば、「東京都千代田区大手町」と入力して検索すると、「100-0004 東京都千代田区大手町」という結果が返ってきます。そのときのURLは「http://postcode.goo.ne.jp/search.php?MT=%C5%EC%B5%FE%C5%D4%C0%E9%C2%E5%C5%C4%B6%E8%C2%E7%BC%EA%C4%AE&kind=0&kana=」です。この仕組みを利用してみます。

『%C5%EC%B5%FE%C5%D4%C0%E9%C2%E5%C5%C4%B6%E8%C2%E7%BC%EA%C4%AE』は『東京都千代田区大手町』をURLエンコード(URLエンコード)したものです。

つまり、goo 郵便番号検索を利用して『東京都千代田区大手町』の郵便番号を検索するときには、「http://postcode.goo.ne.jp/search.php?MT=」+「『東京都千代田区大手町』をURLエンコード(URLエンコード)したもの」+「&kind=0&kana=」というURLにアクセスすればいいということになります。


ここでは AppleScript を使って上記の URL を作成し、 AppleScript から Safari (デフォルトブラウザ)を操作してその URL を開きます。

コードは下記の通りです。





ソースコード:
set orgText to "東京都千代田区大手町"

set tgtText to my URLencoding(orgText)
set preF to "http://postcode.goo.ne.jp/search.php?MT="
set suf to "&kind=0&kana="
set output to preF & tgtText & suf

--display dialog output as string
open location (output) as string


on URLencoding(input)
set wordB4encode to input

set cmdPre to "echo "

--goo,infoseek用(euc-jp)
set cmdSuf to "| iconv -f UTF8 -t EUCJP | perl -pe '~s/([^?w ])/\"%\".unpack(\"H2\", $1)/eg;'"

set theCompleteCmd to (cmdPre & wordB4encode & cmdSuf) as string
set wordAftEncode to (do shell script theCompleteCmd)

set org_delimi to text item delimiters of AppleScript
set text item delimiters of AppleScript to "%0a"
set wordAftEncode to text item 1 of wordAftEncode
set text item delimiters of AppleScript to org_delimi

set the clipboard to wordAftEncode
return wordAftEncode
end URLencoding

-- on Leopard, Mac OS 10.5.5
--『\』は実際は半角です。






実行するとこんなふうに Safari の新しいウィンドウが開いてきます。



最新の画像もっと見る

post a comment

ブログ作成者から承認されるまでコメントは反映されません。