HTTP応答で文字エンコーディングを検出する必要があります。これを行うには、ヘッダーを見て、コンテンツタイプヘッダーに設定されていない場合は、応答を覗いて "<meta http-equiv='content-type'>
"ヘッダーを探します。私が見て、このような何かを働く関数を記述できるようにしたいと思います:urllib2レスポンスのデータを覗くことはできますか?
response = urllib2.urlopen("http://www.example.com/")
encoding = detect_html_encoding(response)
...
page_text = response.read()
しかし、私は私の「detect_html_encoding」方法、そしてsubseuqentのresponse.read(中response.read()を行う場合)私の関数の呼び出し後に失敗します。
読んだ後に応答を聞いたり、巻き戻したりする簡単な方法はありますか?
(1)ヘッダーに、(2)文書に、(3)不在(この場合、文書内の文字に基づいて検出するためにチャードセットを使用する必要があります)。 私は明らかにテキストを先に読み出すことができますが、私がしたいと思うのは基本的にこのタイプのアプローチを避けることができます。 – John