風柳メモ

ソフトウェア・プログラミング関連の覚書が中心

Google App EngineでもXPathを使いたい!

XPathEvaluator Extension for BeautifulSoup(BSXPath) - 試行錯誤の真っ最中

Google App Engine で XPath を使う試み(XPathEvaluator Extension for BeautifulSoup)

現状、あまりまっとうには動作しませんそれなりには動くかもしれません。

経緯

Google App Engine(GAE)上で、HTMLをParse後にXPathで要素を指定したいのだけれど……Pythonではlxmlを使うのが定石みたいですが、GAEでは使えないんですよね、lxml。
で、代わりのいい方法がざっと探した範囲では見つからないのです……。
近いのは、

Log in — Bitbucket

とかだと思うのですが、かなり簡易な実装になっている模様で……。

で、結局

Pure PythonなHTML Parserとして評判のよさげなBeautifulSoupにXPath 1.0相当機能を自力で追加してみようと思い立ったはいいのですけれども。
id:amachangさんのJavaScript-XPath(関連記事:『JavaScript-XPath をリリースしました!さあ、あなたも XPath を使おう!(解説付き) - IT戦記』)をPythonに移植しようとしているのですが、なかなか一筋縄ではいかなくって苦戦中というわけ。


……まぁ、XPathのことを全く知らず、Pythonも素人同然*1初心者の状態でやろうとするのがそもそも間違いではないかという話もありますが。

さて、どうなる?


まんがいち、飽きずにある程度形になったらソースは公開予定です。一応。


【2009/03/24】公開しました(BSXPath.zip)。

*1:っていうかほんとに素人だよ…