Python版Yahooテキスト解析 APIライブラリをかな漢字変換に対応させました
まぁ需要はないと思うんですが一応。内部的にはWebService::Simpleみたいになってるんでサクッと対応できます。
ダウンロード
使い方
- import yahooapi.jlp as jlp
- client = jlp.JIMServiceAPI("your_apikey")
- result = client.conversion(sentence=u"かなかんじへんかんたいしょうのてきすとです")
- for i in result.Result.SegmentList.Segment[0].CandidateList.Candidate:
- print i
- #=>
- #かな
- #佳な
- #仮名
- #カナ
- #カナ
- #加奈
- #可奈
- #佳奈
- #香奈
- #香菜
- #華奈
- #花奈
- #哉
- #金
うむ。
Python版Yahooテキスト解析 APIライブラリ
趣味プログラマやってるわけですが、最近はずっとC言語を書いています。やっぱCはいいですね。あと3Dモデリングに手を出し始めました。目指せ最強の器用貧乏。
というのは置いといて、Yahooのテキスト解析API出ましたね。これは便利そう。というわけで、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クラスをベースにしてるんで
- class Result(yahooapi.Result) :
- xml_root_name = "ResultSet"
- class WebSearchServiceAPI(yahooapi.YahooAPI):
- service_name = "WebSearchService"
- result_class = Result
- api_name = "search"
みたいなのを作れば、検索APIとか、ほかのAPIも同様に使えたりします。
Python版Lingr APIライブラリ
最近はPythonとは言えエミュを書いているので16進数やら、アセンブラやら、パフォーマンスやらとお友達。
たまには富豪的に組みたいなー、ということで流行のLingr APIのライブラリ。Pythonってもうあるのかなあ。PHPやらPerlは一瞬で出ててびっくりします。
そんなたいしたものじゃないし、遊びついでで結構適当なんですけど、良ければどうぞ。
ダウンロード
使い方
ソースに書いてあるとおりなんですが。
- 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のクライアントを書くとだいたいいつもこんな感じです。