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

| トラックバック(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

あやかし草紙 三島屋変調百物語伍之続 AI白書 2017 深層学習 (機械学習プロフェッショナルシリーズ) 未来の年表2 人口減少日本であなたに起きること (講談社現代新書) 琥珀の夢 上 小説 鳥井信治郎 琥珀の夢 下 小説 鳥井信治郎 闇のパープル・アイ (2) (少コミフラワーコミックス) 闇のパープル・アイ (3) (少コミフラワーコミックス) 闇のパープル・アイ (4) (少コミフラワーコミックス) 闇のパープル・アイ (5) (少コミフラワーコミックス) 闇のパープル・アイ (6) (少コミフラワーコミックス) 闇のパープル・アイ (7) (少コミフラワーコミックス) 闇のパープル・アイ (8) (少コミフラワーコミックス) 闇のパープル・アイ (9) (少コミフラワーコミックス) 闇のパープル・アイ (10) (少コミフラワーコミックス) 闇のパープル・アイ (11) (フラワーコミックス) 闇のパープル・アイ (12) (フラワーコミックス) 教科書名短篇 - 少年時代 (中公文庫) ゼンデギ (ハヤカワ文庫SF) 竜との舞踏 上 (ハヤカワ文庫SF) 竜との舞踏 中 (ハヤカワ文庫 SF マ 8-16 氷と炎の歌 5) 竜との舞踏 下 (ハヤカワ文庫SF) シルトの梯子 (ハヤカワ文庫SF) クロックワーク・ロケット (新☆ハヤカワ・SF・シリーズ) エターナル・フレイム (新☆ハヤカワ・SF・シリーズ) アロウズ・オブ・タイム (新☆ハヤカワ・SF・シリーズ) 烏は主を選ばない 八咫烏シリーズ 2 (文春文庫) 黄金の烏 八咫烏シリーズ 3 (文春文庫) 空棺の烏 八咫烏シリーズ 4 (文春文庫) 取締役の法律知識 (日経文庫) ユダヤ教徒に見る生き残り戦略

Link

Feed

このブログを購読

Follow

follow on Twitter

Counter

194141354