Я пытаюсь разобрать ответ html с помощью jsoup, но обнаружил, что он преобразует символы html, и даже пытаюсь использовать предлагаемые настройки ascii или StringEscapeUtils.unescapeHtml перед использованием jsoup.parse по-прежнему не помогает.
String decodedHTML= StringEscapeUtils.unescapeHtml(htmlD);
decodedHTML = Parser.unescapeEntities(htmlD,false);
Document docs = Jsoup.parse(decodedHTML, "UTF-8");
System.out.println(docs);
Вывод включает в себя следующие документы:
<div class = "\"search-video-card\""><div
class = "\"video__cover\""
Почему это происходит и как это предотвратить. Я пробовал следующее, найденное в похожих вопросах:
Document.OutputSettings settings = docs.outputSettings();
docs.outputSettings().prettyPrint(false).escapeMode(EscapeMode.extended);
settings.prettyPrint(false);
settings.charset("ASCII");
String modifiedFileHtmlStr = docs.html();
System.out.println(modifiedFileHtmlStr);
Не сработало.
Обновлено:
Оригинал:
bigPipe.onPageletArrive({"container":"","id":"pagelet_video","html":"
<div class = "video-list" data-empty = "30">
<div class = "search__filter">
<div class = "filter__sort">
<span class = "filter__label">排序:</span>
<ul class = "filter__item-list item-list__type">
<li data-type = "1">相关</li>
<li data-type = "2">最多观看</li>
<li data-type = "3">最多评论</li>
<li data-type = "4">最多收藏</li>
<li data-type = "5">最新发布</li>
</ul>
<span class = "filter__unfold">展开筛选</span>
</div>
<div class = "filter__type" style = "display: none;">
<span class = "filter__label">分类:</span>
<ul class = "filter__item-list item-list__channel">
<li data-cid = "0">全部</li>
<li data-cid = "177">AC正义</li>
<li data-cid = "155">番剧</li>
<li data-cid = "1">动画</li>
<li data-cid = "60">娱乐</li>
<li data-cid = "201">生活</li>
<li data-cid = "58">音乐</li>
<li data-cid = "123">舞蹈·偶像</li>
<li data-cid = "59">游戏</li>
<li data-cid = "70">科技</li>
<li data-cid = "68">影视</li>
<li data-cid = "59">体育</li>
<li data-cid = "125">鱼塘</li>
</ul>
<span class = "filter__fold">收起筛选</span>
</div>
</div>\n\n
<div class = "btn-group">
<span class = "btn-card icon-ks icon-icon--qia-pian-zhan-shi"></span>
<span class = "btn-line icon-ks icon-icon_-zheng-tiao-zhan-shi active"></span>
</div>
<div id = "video-list">
<span class = "total-num" data-total = "246">共246条结果</span>
<div class = "normal-list" style = "display:none">
Что такое исходный HTML (
htmlD
)?