お知らせ: にーやんのブログ 2 に移転しました。こちらのブログは、2009 年末までに削除します。

スポンサード リンク

Google App Engine SDK: XML データの取得、パース、結果表示まで

ちょうどあまびきを 1 から作り直そうと考えていたところだったので、Google App Engine でやってみることにした。前回、検索フォームの設置まで行ったので、実際に Amazon ECS にリクエストして、返ってきたデータをパース、さらに画像を表示するまでをやってみた。

まず Google App Engine SDK と組み合わせないで、Amazon から XML データを取ってきてパースするというところまでは何とかできた。でも、いざ Google App Engine と組み合わせると動かない。

urllib でエラー

まず、urllib モジュールの urlopen を使って Amazon にリクエストしようとしたら、

AttributeError: 'module' object has no attribute 'unlink'

というエラーが出てうまく行かなかった。urllib2 でもやってみたが、別のエラーが出てうまく行かない。

代わりに Google App Engine の URL Fetch API を使うことにした。

ElementTree でもエラー

Google App Engine には Python 2.5.x が入っているということなので、ElementTree モジュールを使って XML をパースしようと考えた。が、いざ Google App Engine 上(ローカル)で実行してみると、

ImportError: No module named expat; use SimpleXMLTreeBuilder instead

というエラーが出た。

SimpleXMLTreeBulider で検索すると、Big Sky :: Google App EngineでXMLをパースする方法(python版WebService::Simpleを使ってflickr画像検索を作る) に行き当たる。だが私のレベルでは、PyWrapper が一体何で、どうすればいいのかわからず……。

だが PyWrapper のサイト内にある SimpleXMLTreeBuilder.pyElementTree.py を落としてきて使ってみると、うまく XML がパースできるようになった。とりあえずよしとする。

なお、SimpleXMLTreeBuilder の使い方については、上述の Big Sky の記事にある webSimple.py を参考にさせていただいた。感謝。

結果の表示

商品画像

とりあえず画像の表示まで。

関連記事

スポンサード リンク

Recent entries from same category
TrackBack ping me at
Trackbacks
[ No TrackBack ]
Comments
[ No Comment ]
Post a comment

writeback message: Ready to post a comment.













Remember the above info?

Preview here...

  • [Preview]ボタンをクリックすると、コメント内容をプレビューすることができます(JavaScript使用)。
  • スパム対策としてリファラチェックを行っています。セキュリティソフトの設定でリファラを無効にしていると投稿できません。
  • エントリの内容と無関係と思われるコメントやトラックバックは削除されます。
  • 当ブログへの言及リンクがないトラックバックはブロックされます。