1.7.0の更新履歴に lxmlのunicodeサポートみたいな事が書いてあった。
つまり、lxmlが使えるようになったらしい。早速使ってみようと思ったらちょっと詰まったのでメモ。
自前でHTMLパーサを作らない場合、BeautifulSoup3くらいしか手軽に導入できるライブラリがない上に
ベンチマークしているサイトの情報によれば、lxmlの方が結構な差が出るくらい早いようなので
これからGAE/PでHTMLやXML解析をしたい人はlxmlを選んだほうがいいかも?
さて、導入方法は、まずPython2.7にする必要があるのと、
app.yamlに以下を追加
libraries:
- name: lxml
version: latest
もし、Python2.7にしたばかりで、app.yamlの設定がまだなら
application: your-app-name
version: 1
runtime: python27
api_version: 1
threadsafe: true
- url: /(.*)
script: main.app
みたいな感じの設定を追加。
この2.7用の設定については別記事参照。
開発環境では、これだけではダメで(本番環境ではまだ試していない)
別途、lxmlをインストールする必要がある。
コマンドでインストールもできるみたいだけど、
面倒くさがりな私は
ちょい古いバージョンでリリースされているインストーラを使って導入した。
インストーラが用意された中で一番最新のバージョンは、
この記事を書いた時点では2.3のものみたい。
http://pypi.python.org/pypi/lxml/2.3
今回WindowsでGAEのPythonも2.7用の設定なので、
下の方にある「lxml-2.3.win32-py2.7.exe (md5)」をDLしてインストールした。
あとは使い方が書いてあるサイトなり、マニュアルなりに書かれた通り
importして使うだけ。