我正在抓取页面以获取信息,并且在使用Groovy解析页面时遇到了很多问题。我已经制作了半解决方案,大部分时间都使用juniversal chardet,只是扫描页面中的标签,但有时在一个页面上找到其中两个标签,例如:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
...
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
是否有一个标准可供使用(第一个,最后一个,两个......?)或更简单的方法来做到这一点?感谢。
答案 0 :(得分:3)
我会启发式地做到这一点:
您可能也希望查看从Web服务器返回的内容类型标题...
从根本上说,页面已被破坏,但上面应该给出合理的“最佳猜测”。
答案 1 :(得分:0)
HTML规范未定义此行为。您不能在同一文档中包含两个单独的内容类型标记。既然大概你不得不解析这个文档,你最好的办法是对开发者的意图进行有根据的猜测。