【发布时间】:2011-09-28 14:48:58
【问题描述】:
首先我要提前感谢您的帮助。
我目前正在编写一个网络爬虫,它可以解析 HTML 内容、去除 HTML 标签,然后对从解析中检索到的文本进行拼写检查。
使用 JSoup 和 Google Spell Check API,剥离 HTML 标签和拼写检查没有造成任何问题。
我能够从 URL 中提取内容并将此信息传递到 byte[] 中,然后最终传递到 String 中,以便可以对其进行剥离和拼写检查。我遇到了字符编码问题。
例如解析http://www.testwareinc.com/时...
原文:我们扩展了我们的移动网络和移动应用测试服务。
...根据元标记,该页面正在使用 ISO-8859-1...
ISO-8859-1 Parse:我们扩展了我们的移动网络和移动应用测试服务。
...然后尝试使用 UTF-8...
UTF-8 Parse:我们扩展了我们的移动网络和移动应用测试服务。
问题 网页的 HTML 是否可能包含多种编码?以及如何检测到?
【问题讨论】:
-
处理文本很糟糕。祝你好运!
-
快速浏览(只是在浏览器中,而不是在十六进制编辑器中),该字符看起来像是一个有效的 ISO-8559-1 字符。你为什么认为这里有两种编码?您的解析器不可能以某种方式简单地吞下字符吗?
-
感谢 cdeszaq 我已经在这个爬虫上工作了大约 6 个月,解析是唯一给我带来问题的部分,但我有点知道它会因为“in-the-wild” HTML可能因站点而异。
-
我在想 CP1252 和 ISO-8859-1 是在互相玩游戏。我使用了 juniversalchardet,如下所述,它通知我页面上的内容实际上不是 ISO-8859-1。至少我可以找出我应该使用什么来获得尽可能多的数据,如果我有点松懈的话。
标签: java html parsing encoding web-crawler