Jsoup解析html页面而不更改内容

时间:2016-10-21 08:22:42

标签: java html parsing jsoup html-parsing

我试图解析通过代理收到的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;
&#13;
&#13;

成为:

&#13;
&#13;
<html>
  <head>
  </head>
  <body>
    <div id="parent">
      <div id="header"> </div>
      <div id="content"> </div>
    </div>


    <div id="footer"> </div>
  </body>
</html>
      
      
&#13;
&#13;
&#13; 页脚移出div父级。

我知道Jsoup是基于W3C推荐的,我认为原始的html代码无效,但我需要保持DOM不变。

我尝试使用选项Parser.xmlParser(),但结果仍然相同。

任何人都有理由避免Jsoup所做的所有更改?或另一个html解析器来完成这项工作?

0 个答案:

没有答案