00:55ログインが必要なWebサイトに対してスクリプトでページを取得/送信したい場合、まずログイン用のURLに対しログイン情報をPOSTしてCookieを取得する、という作業を行うのが一般的だ。Pythonのurllib2を利用すると簡単にPOSTは行えるのだが、なぜかCookieを取得できない、という問題が発生することがある。これはurllib2のurlopen()でURLを開き、帰ってきたオブジェクトのinfo()メソッド経由でSet-Cookieヘッダを取得しようとする場合に発生する。CMSを使用しているWebサイトで、管理用ページ以外に(正当な)Cookieを持たずにアクセスするとCookieなしでアクセスできるトップページ等にリダイレクトされる、というケース。多くのCMSではログインに成功すると管理ページトップにリダイレクトされるのだが、urllib2のデフォルト設定ではCookie処理を行ってくれない&リダイレクトを自動的に処理してくれるため、「ログイン成功→(Cookieを返すがurllib2はCookieを保存せず)→管理ページトップにリダイレクト→Cookieがないので公開ページのトップにリダイレクト→Cookieは受け取れず」という事態になってしまうことがある。この場合、urllib2.HTTPCookieProcessorを使ってCookie処理を行えばよいのだが、なぜかurllib2のドキュメントにはこのクラスの解説が無い。例にも上がっていない。いうことで途方にくれるわけだが、実はCookieを扱うcookielibのほうに使い方の例が載っていたりする。opener.open(req)取得したCookieはCookieJarオブジェクトに保存されるので、必要に応じて適宜取り出せばOK。かわりにFileCookieJarオブジェクトを使えばファイルへのsave/loadも可能。18:16最近DeSmuMEなるニンテンドーDSエミュレーターが(一部で)ブームらしい。Googleトレンドの検索結果を見てもその盛り上がりは明らかで、2010年9月中旬(というか9月18日)に大きな山があることが分かる。この9月18日はポケモン新作の発売日ということで、まぁなんだかなぁ、という感じではあるのだが......。DeSmuMEのトレンドで、ニンテンドーDSエミュレーターというと数年前に触ったときはまだまだ完成度が低く、とても市販のゲームが動かせる状況ではなかったのだが、現在では完成度が上がり、結構色々と動作するらしい。いうことで、とりあえず久しぶりに試して見ようと思ったら色々とはまったのでメモ代わりにご紹介。検索:Aboutライター/エディター/プログラマー/Webディレクター、hylomのブログです。ご興味のある方はつぶやきや執筆記事などもどうぞ。TermWindows用のSSHクライアント機能付きターミナルエミュレータ。Windowsで作業する場合に必須。WinSCPSCP/SFTP/FTPS対応クライアント。遠隔サーバーとのファイル交換などに必須。TortoiseSVNバージョン管理システムSubversionのWindows用クライアント。使用頻度が下がり、コマンドを忘れ気味なのでGUIは便利。smplayerとりあえずだいたいのファイルを何も考えずに再生できるマルチメディアプレーヤー。PDFCreatorPDF作成ツール。日本語対応のはずだけど日本語UIは相変わらず終わっている感じなので英語UIでの使用をおすすめ。Antivirusウイルス対策ソフト。やばそうなファイルはこれでチェック。常駐しないので軽いし。MinGWPerlやMake、grepなどUNIX関連ツールを環境を汚さずに簡単にインストールできて便利。FLACCD音源をリッピング後劣化させずに管理するのに使用。リッピングが面倒で進んでいない......。ffdshowコーデック集。Playerで再生可能に。JPテキストエディタ。コード書きの必須ツール。無いと仕事になりません。X向け:CyberduckSCP/FTP/SFTP/WebDAVなどに対応するGUIのファイル転送ツール。ドラッグ&ドロップでファイル転送するのに便利。Emacsテキストエディタ。無いと仕事にならない。Perianコーデック集。Playerで再生可能&QuickLookで閲覧可能に。Xよりも前から使っているエディタ。多機能&そこそこ軽量。Magazineオープンソース関連ニュース/情報を掲載SourceForge.JPオープンソースソフトウェア開発支援サイト。私も使っていますGitHub公開Gitリポジトリ。