1

ブラジルのウェブサイトでいくつかのドキュメントを自動的にダウンロードするウェブクローラーを開発しています。また、未知のエンコーディングを使用しています (head タグで文字セットが定義されていません)。

ごくわずかな労力で、ドキュメントを読むことができます。しかし、本当の問題は、ドキュメントをリストするページが、強調文字を含む URL へのリンクを使用していることです。しかし、ページのエンコーディングがわからないまま、urllib2.urlopen から取得すると文字がめちゃくちゃになってしまいます。

たとえばÍ、文字は次のようになりCyrillic capital letter Eます。

BeautifulSoup を使用していますが、urllib2 が既に不適切な文字を含むドキュメントを返しているため、prettify が機能しません。

そしてもう 1 つ: soup.originalEncodingreturns None.

文字セットを認識するように設定urllib2.urlopenするか、「期待されるエンコーディング」を設定して、ブラウザに表示される文字を返すようにするにはどうすればよいですか?

4

1 に答える 1

2

文字セットはヘッダーから取得できます。私が使用するコードを提供しますが、それはHow to download any(!) webpage with correct charset in python?から派生したものです。. そして、彼はプロセスを説明するのにはるかに優れた仕事をしています. だから、私はあなたにそこを指摘します。

于 2012-08-16T13:26:09.340 に答える