先達はあらまほしきものなり

| トラックバック(0)
ウェブ検索(Yahoo!API利用)ニュース検索(GoogleニュースのAtom形式出力をパース)を作ってみた。 その過程でいくつかの懸案が解決し(または見切りをつけ)た。

モジュールの配置ってそもそもどうするのが普通なのか

何が正解かはよく分からない。site-packagesにファイルを置くと、とかeasy_installというシロモノに関する情報もあるが……。
sys.pathというリスト(通っているパスがすべて入っている)に適当なディレクトリを突っ込む、という方法が簡単そう&とりあえず動いたのでこれでいく。

PathInfoからの引数取得

os.environというディクショナリにPATH_INFOというそのものずばりの値が。これをスラッシュで区切って使う。PathInfoからの引数取得は今後も多用しそうなので共通の関数を定義しておこう。os.environにはこの他にも標準的な値が一通りそろっている模様。smartyだったら予約変数$smartyの中に全部詰め込んであったのだが、似たようなものはなさそう。

リダイレクト

self.redirectでできる、ということを見つけるのに時間がかかった。

URLエンコード、デコード

urllib.quote_plusがおそらくそのものずばりだが、encode('utf-8')をつけてやらないとエラーが出る。かなりはまった。ウェブリクエスト用にkey=valueの形式にエンコードするならurllib.urlencodeを使うのが便利。

XMLの取得、パース

各種のAPIを使うにせよ、RSSを読み込んで表示するにせよ、XMLをパースする仕組みは必須。標準でもいろいろあるようだが、BeautifulSoupが手軽そう。実際手軽だったが、タグのアトリビュートの扱いがややこしくてちょっと泣いた。ウェブ越しにXMLを取り込むのはGAE名物urlfetchを使うのが礼儀というものだろう。

なんか表示するたびにエラーが出る…

デフォルトエンコーディングを変更してやらないとデフォルトでasciiになっているらしい。グローバルだこと。

正規表現

Googleの返してくるXMLがタグだらけ。正規表現の出番。

トラックバック(0)

トラックバックURL: http://manabu.s176.coreserver.jp/mt5/mt-tb.cgi/2174


アーカイブ

Books

軽装版 風と行く者 (軽装版 偕成社ポッシュ) 深層学習 (機械学習プロフェッショナルシリーズ) 琥珀の夢 上 小説 鳥井信治郎 琥珀の夢 下 小説 鳥井信治郎 健康で文化的な最低限度の生活 (4) (ビッグコミックス) 健康で文化的な最低限度の生活 (5) (ビッグコミックス) 健康で文化的な最低限度の生活 (6) (ビッグコミックス) 健康で文化的な最低限度の生活 (7) (ビッグコミックス) 健康で文化的な最低限度の生活 (8) (ビッグコミックス) 白銀の墟 玄の月 第一巻 十二国記 (新潮文庫) 白銀の墟 玄の月 第二巻 十二国記 (新潮文庫) 白銀の墟 玄の月 第三巻 十二国記 (新潮文庫) 白銀の墟 玄の月 第四巻 十二国記 (新潮文庫) 教科書名短篇 - 少年時代 (中公文庫) ゼンデギ (ハヤカワ文庫SF) クロックワーク・ロケット (新☆ハヤカワ・SF・シリーズ) エターナル・フレイム (新☆ハヤカワ・SF・シリーズ) アロウズ・オブ・タイム (新☆ハヤカワ・SF・シリーズ) 昨日がなければ明日もない 烏は主を選ばない 八咫烏シリーズ 2 (文春文庫) 黄金の烏 八咫烏シリーズ 3 (文春文庫) 空棺の烏 八咫烏シリーズ 4 (文春文庫) 神様の背中~貧困の中の子どもたち~(書籍扱いコミックス) さよならの儀式 直感と論理をつなぐ思考法 VISION DRIVEN 取締役の法律知識 (日経文庫) ユダヤ教徒に見る生き残り戦略 他者と働く──「わかりあえなさ」から始める組織論 (NewsPicksパブリッシング)

Link

Feed

このブログを購読

Follow

follow on Twitter

Counter

221224083