我试图解析通过代理收到的html页面,所以我有:
HttpUriRequest request = new HttpGet(url);
HttpResponse httpResponse = HttpClient.execute(request);
InputStream stream = httpResponse.getEntity().getContent();
String myHtml = IOUtils.toString(stream, "UTF-8");
Document doc = Jsoup.parse(myHtml);
问题是html被解析和设置为Document与收到的html完全不同。我有很多div标签被移动。
示例:
<html>
<head>
</head>
<body>
<div id="parent">
<div id="header"> </div>
<div id="content"> </div>
<div id="footer"> </div>
</div>
</body>
</html>
&#13;
成为:
<html>
<head>
</head>
<body>
<div id="parent">
<div id="header"> </div>
<div id="content"> </div>
</div>
<div id="footer"> </div>
</body>
</html>
&#13;
我知道Jsoup是基于W3C推荐的,我认为原始的html代码无效,但我需要保持DOM不变。
我尝试使用选项Parser.xmlParser(),但结果仍然相同。
任何人都有理由避免Jsoup所做的所有更改?或另一个html解析器来完成这项工作?