2009-08-05 13 views
1

私は情報のためにページをクロールすることに取り組んでおり、Groovyのページの解析に多くの問題があります。私はjuniversal chardetを使用して、ほとんどの時間を動作し、ちょうど頭の中でタグのページをスキャンした半ソリューションを作ったが、時々これらのタグの2は、1つのページに発見され、例えば:ページ上に2つの文字セットタグがありますか?

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
... 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 

ですそこに使用する(最初、最後、両方..?)か、これを行う簡単な方法の標準がありますか?ありがとう。

答えて

3

私はヒューリスティックにそれを行うだろう:

  • は、実際にはすべてASCIIですか?そうであれば、どちらを使うかは関係ありません。
  • 有効なUTF-8に準拠していますか?もしそうなら、私はそれを使用します。
  • それ以外の場合は、ISO-8859-1を使用してください。

あなたも...

は基本的にページが壊れているが、上記の合理的な与える必要があり、Webサーバから戻ってくるContent-Typeヘッダを見たいかもしれません「最良の推測を。」

0

この動作はHTML仕様では定義されていません。同じドキュメントに2つの別々のコンテンツタイプタグを持つことはできません。とにかくこの文書を解析しなければならないと思われるので、開発者の意図を知ることが最善の方法です。

関連する問題