Python版Yahooテキスト解析 APIライブラリをかな漢字変換に対応させました

まぁ需要はないと思うんですが一応。内部的にはWebService::Simpleみたいになってるんでサクッと対応できます。

ダウンロード

yahooapi

使い方

python code
  1. import yahooapi.jlp as jlp
  2.  
  3. client = jlp.JIMServiceAPI("your_apikey")
  4. result = client.conversion(sentence=u"かなかんじへんかんたいしょうのてきすとです")
  5. for i in result.Result.SegmentList.Segment[0].CandidateList.Candidate:
  6.   print i
  7. #=>
  8. #かな
  9. #佳な
  10. #仮名
  11. #カナ
  12. #カナ
  13. #加奈
  14. #可奈
  15. #佳奈
  16. #香奈
  17. #香菜
  18. #華奈
  19. #花奈
  20. #哉
  21. #金
  22.  

うむ。

07.27.08/12am

Python版Yahooテキスト解析 APIライブラリ

趣味プログラマやってるわけですが、最近はずっとC言語を書いています。やっぱCはいいですね。あと3Dモデリングに手を出し始めました。目指せ最強の器用貧乏。

というのは置いといて、Yahooのテキスト解析API出ましたね。これは便利そう。というわけで、Pythonのライブラリ置いておきます。

ダウンロード

使い方

ソースに書いてあるんですが、こんな感じです。

[python] import yahooapi.jlp as jlp client = jlp.MAServiceAPI("your_appid") result = client.parse(sentence=u"庭には二羽ニワトリがいる。", results= jlp.MA+jlp.UNIQ, filter = jlp.VERB + jlp.NOUN)

print result.ma_result.word_list.word[0].surface

=> u"庭"

print result.ma_result.word_list.word[0].reading

=> u"にわ"

まぁ以前つくったLingrのAPIライブラリとほとんど一緒です。ポイントとしてはフィルタとか品詞が定数を+-して指定できることかな。jlp.WORD_TYPE_ALL - jlp.NOUNとかして、名詞以外とってくるとかも簡単にかけます。

あと、実は前ちょっとつくってたYahooのAPIクラスをベースにしてるんで

[python] class Result(yahooapi.Result) : xml_root_name = "ResultSet"

class WebSearchServiceAPI(yahooapi.YahooAPI): service_name = "WebSearchService" result_class = Result api_name = "search"

みたいなのを作れば、検索APIとか、ほかのAPIも同様に使えたりします。

07.27.08/12am

Python版Lingr APIライブラリ

最近はPythonとは言えエミュを書いているので16進数やら、アセンブラやら、パフォーマンスやらとお友達。

たまには富豪的に組みたいなー、ということで流行のLingr APIのライブラリ。Pythonってもうあるのかなあ。PHPやらPerlは一瞬で出ててびっくりします。

そんなたいしたものじゃないし、遊びついでで結構適当なんですけど、良ければどうぞ。

ダウンロード

使い方

ソースに書いてあるとおりなんですが。

[python] lingr = Lingr("your api_key") lingr.api.session.create() lingr.api.room.enter(id="room id", nickname="nickname") lingr.api.romm.say(message="hello!") lingr.api.room.exit() lingr.api.session.destroy()

result = lingr.api.explore.search(q="scheme") print result.rooms

こんな感じです。パラメーターのうち、api_key,session,ticket(user用とroom用両方)は自動的に渡されるので書かなくて大丈夫です。

よもや話

中身はかなり富豪的。というかインターフェイス重視。こういうAPI用のライブラリってやっぱり使い勝手が最優先だと思うので。メソッド呼び出しは.(ドット)でつなげてそのまま。結果はresult["room"]でもresult.roomでもアクセス可能。

俺がPythonでWebAPIのクライアントを書くとだいたいいつもこんな感じです。

07.27.08/12am

About

Author:yuin(http://inforno.net/)

文学部文化学科卒という生粋の文系趣味プログラマ。

主にRuby、Javascript、PHP、JAVA,Python,C,Scala,Schemeなどを使っています。今はPythonな感じかもしれない。今後作曲活動なども復活するかもしれない。

Pages