Main Contents

2008年02月27日

Yahoo! Japan の Webサービス用 Pythonライブラリ

このエントリーをはてなブックマークする このエントリーを含むはてなブックマーク | Save This Page (del.icio.us)

Yahoo!デベロッパーネットワーク で公開されているWebサービスの Python バインディングを書いたので公開します。

UPDATED 2008/03/22:
YAPI-0.3 がリリースされています。
kh.log - YAPI-0.3 校正支援、ローカルサーチ、トピックスへの対応を追加

ダウンロード: YAPI-0.2.tar.gz

libxml2-python 2.6.30以上が必須です。

いまのところ、検索系4種と形態素解析の5つのAPIのみの対応です。

XMLをPythonオブジェクトに変換するところで悩んでしまって、ちょっと奇妙な実装になっています。Yahoo!のAPIにはすべて、XML Schemaが用意されているのですが、これをどう生かせば良いのかがわからなかったため、独自のパージング関数を書いてしまいました。興味のある方は中をご覧ください。(そして正しい方法をご連絡ください…)

使用法は以下。

READMEより:

== YAPI ==

This is a module package to make use of the Web API
provided by Yahoo! Japan Developer Center.

Currently supported API:
  Search (Web, Image, Video, WebUnit)
  MAService


== Install ==

python setup.py install


== Synopsis ==

>>> from YAPI import *
>>> APPID='Your Application ID Here.'
>>>
>>> ma = MAService(APPID)
>>> d = ma.call(sentence=u'すもももももももものうち'
                output_coding='utf-8')
>>>
>>> d
<YAPI.Response.MAServiceResponse object at 0x309547f0>
>>>
>>> for w in d.response['ResultSet']['ma_result']['word_list']['word']:
...   print '\t'.join((w['surface'], w['reading'], w['pos']))
...
すもも  すもも  名詞
も      も      助詞
もも    もも    名詞
も      も      助詞
もも    もも    名詞
の      の      助詞
うち    うち    名詞

TrackBacks

トラックバックURL:

»[IT][勉強][Python] lxmlのobjectifyを試してみたら、すごく便利でビックリした from bonlife

Javaの試験勉強に集中できないbonlifeです。以下の記事を見て、なんかあったよな、と思ってlxmlのobjectifyを試してみました。 XMLを...


Comments

Post a comment

コメントフォーム