Home > Archives > 2011年08月01日

2011年08月01日

文字コードとの戦い,というか,行儀の悪い html との戦い

Python で web のクローラを書いてるのだけど,文字コード周りで行儀の悪いページとの戦いが…… こちらの武器は chardet と encutils とで. 

行儀のよいファイルだけなら encutils で判定して終了なのだけど,世の中 ISO-2022-JP と宣言して EUC-JP を使うようなページも平気であるので困る.ここらは実際に unicode へ変換してみてエラーが出たら chardet の解析結果を使うとかで対処.

んで,一見行儀の良さそうな sjis ファイルなのだけど実は丸の中に数字の入った文字を含む cp932 だったりとかもある.大量に.行儀悪い.更に悪いことに,chardet が自信満々 (confidence = 1) で cp932 を sjis 判定してくれるので困る.面倒なので sjis は全部 cp932 として扱うと幸せかも知れない.

あとは x-euc-jp とか x-sjis とかも python は認識してくれないので手動で置き換えを……

とりあえず chardet と encutils の併用と sjis を cp932 に置き換えるのとでだいぶ安定してきた.

というか,ページ内でコードが違うとか何考えてるんだろう?

IEは嫌いだ

とある出張関連のシステムに Firefox からアクセスしてたら画面が途中から進まなくなった.原因不明なので IE を使って操作したら最後まで進めた.

で,そのシステムは最後に提出用のPDFをポップアップで吐いてくれるのだけど…… IE が見事にブロックしてくれた.ポップアップ許可設定をするためのボタンが出たには出たが,数秒で消えてくれるという始末.しばらく待てよ! 俺のPDFを返せ!

まあ,いつまでもポップアップ許可設定のボタンとか出してても邪魔だからってんだろうけど,ユーザが反応できない速度で消さなくてもいいじゃない.なんというか,マイクロソフトの小さな親切って大きなお世話なことが多い気がする.勝手に再起動とか再通知をしないという設定がないとかもやめてもらいたい.

Home > Archives > 2011年08月01日

Search
Feeds

Page Top