XML-RPC以外の検索用API(WEBサービス)の検討など

とりとめもなく、自分用のメモっぽいのですが。

ご提案などいただければ有難いので、つらつらと書いておきます。

RESTなAPI

現在のところ提供しているのはXML-RPCだけなのですが、RESTなAPIも用意したらもっと使われるのかなと考えています。

XML-RPCの方の利用状況を見ると、30前後の公開、非公開サイトから定期的なアクセスがあります。

もう少し多いかなあと思っていたのですが、やっぱりクライアント実装の敷居が高いのか(こちらのAPIの設計が悪いだけなのかもしれない)。

とわいえ、SOAPはいっそう敷居が高いし(郵便番号検索ゴトキにあれはないな)。

実は今でも存在チェックはRESTっぽい

たとえば、 郵便番号の存在チェックは、

といった感じでできます。

郵便番号からの住所取得もこんな感じでできるとクライアント実装が簡単かもしれない。

テストにブラウザも使えるし。どうなんだろう?

Hyper Estraier*1を使った全文検索

他に、時々いただく要望としては、住所から郵便番号を知りたいというものです。

確かにわかるのですが、キーワード入力のブレで結構見つかったり見つからなかったりで、うまく使うには熟練が必要だなあと思って見送っていました。

でも、よく考えると、全文検索エンジンにHyper Estraier(http://hyperestraier.sourceforge.net/)を使うようになってから、インデックス生成用のソースを作っていることもあって、かなりいい感じになっています。

Hyper Estraierでの検索結果をXMLで返すようなCGIを作ろうかなあ、と思ったのですが、これまたよく考えると、Hyper EstraierにはestmasterというHTTPサーバが付属していて、ブラウザからRSSで検索結果を取得できます。これでいいかあと思ったり。

でも、

  • UIのカスタマイズや、
  • 別のサイトとの関係(同じホストで動いているまったく関係ないサイトでも全文検索エンジンに使っている)、
  • バージョンアップなどの運用管理(まだまだ結構頻繁にバージョンアップがあってインデックスの互換性がない場合がある)

を考えると、郵便専門ネット用にラッパーを作ったほうがいいかなあと思ったり。

長いわりに本当に取りとめがない。

*1:今日現在、Hyper Estraierではキーワード登録されてないみたいですね。初めて登録してみようと思ったのに、市民じゃないからできませんでした。

XML-RPC以外の検索用API(WEBサービス)の検討など

ISBN10桁13桁相互変換CGI

頻繁に使うわけでも、そんなに難しいものでもありませんが、作ろうと思うとちょっと面倒な小道具類シリーズということで。

ISBN10桁13桁相互変換CGI

isbnlib.pyを使ったCGIを公開します。

  1. 入力されたISBNから10桁と13桁を表示します。
  2. GETでもPOSTでも使えます。パラメータ名は「isbn」。
  3. 複数のISBNを渡す場合は空白か改行で区切ってください。
  4. WEBサービスっぽく使ってもらうために、出力はタブ区切りのテキストです。1)入力ISBN 2)10桁 3)13桁

例) 499289323と487367434とエラー

どうぞご利用ください。

ホントはAjaxとかでカッコいいのがやってみたかった。

ISBN10桁13桁相互変換CGI

XML-RPCで郵便番号から住所を取得するPythonスクリプト

郵便専門ネットでは、2002年11月からXML-RPCのAPIを公開しています。

Delphi5版とPHP版クライアントのサンプルを当初から用意しています。自分の練習を兼ねて、Python版のサンプルを作ってみました。えらい簡単。

Python2.4以降以外に必要なものはありません。string.Templateを使わなければPython2.2以降でも動くはず。スクリプトの大部分は出力を整形するテンプレートです。最新版はgist:227575に置いてあります。 続きを読む “XML-RPCで郵便番号から住所を取得するPythonスクリプト”

XML-RPCで郵便番号から住所を取得するPythonスクリプト