【发布时间】:2020-12-07 08:26:24
【问题描述】:
我遇到了一个问题,将以下 HTML 结果解析为不需要的结果。
HTML
<html>
<head>
<title>Try jsoup</title>
<noscript><p>thisisatest</p></noscript>
<noscript><img id="tracking-test-noscript" style="width: 1px; height: 1px" src="http://fullwithsheep/img/tracking3.jpg"></noscript>
</head>
<body>
<noscript><p>thisisatest</p></noscript>
<p>This is <a href="http://jsoup.org/">jsoup</a>.</p>
<noscript><img id="tracking-test-noscript" style="width: 1px; height: 1px" src="http://fullwithsheep/img/tracking3.jpg"></noscript>
</body>
</html>
JSOUP对Document的解释
<html>
<head>
<title>Try jsoup</title>
<noscript><p>thisisatest</noscript>
<noscript><img id="tracking-test-noscript" style="width: 1px; height: 1px" src="http://fullwithsheep/img/tracking3.jpg"></noscript>
</head>
<body>
<noscript><p>thisisatest</p></noscript>
<p>This is <a href="http://jsoup.org/">jsoup</a>.</p>
<noscript><img id="tracking-test-noscript" style="width: 1px; height: 1px" src="http://fullwithsheep/img/tracking3.jpg"></noscript>
</body></html>
您可以从头节点中的 noscript 标记中看到 innerHTML 被解释为文本 - 我想要的是 jsoup 仍然会将它们解释为 html 而不是文本(没有将 < 等等)
我为解决此问题所做的解决方法是在中断 Jsoup.parse 后选择所有 noscript 标记,并尝试将相应 noscript 标记的文本转换回 html。但是,感觉这不是正确的方法 - 这是 Jsoup 库中的错误还是这种行为是故意的?
【问题讨论】:
-
如果你喜欢这个答案记得mark it as accepted。