You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Jsoup抓取网页元素时如何保留原始HTML格式?

解决HTML格式保留问题

你的代码里,wholeText()方法会丢弃所有HTML标签,只提取纯文本内容,这就是无法保留原始格式的核心原因。直接使用elements.html()就能获取目标元素内部的完整HTML代码,无需额外解析转纯文本。

修改后的完整代码如下:

public class doIT extends AsyncTask<Void,Void,Void> {
    String translated;
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }
    @Override
    protected Void doInBackground(Void... params) {
        try
        {
            Document document = Jsoup.connect("https://studentdevos.com/").get();
            org.jsoup.select.Elements elements = document.getElementsByClass("post-entry");

            // 直接获取元素内部的完整HTML结构,替换原纯文本提取逻辑
            translated = elements.html();
            
        }
        catch (IOException e)
        {
            e.printStackTrace();
        } 
        return null;
    }
    @Override
    protected void onPostExecute(Void aVoid)
    {
        tv_Jsoupe.setText(Html.fromHtml(translated));
        super.onPostExecute(aVoid);
    }
}

补充说明:

  • 如果页面存在多个post-entry类的元素,elements.html()仅会返回第一个匹配元素的HTML。若需要获取所有匹配元素的HTML,可以通过循环拼接实现:
StringBuilder htmlBuilder = new StringBuilder();
for (Element element : elements) {
    htmlBuilder.append(element.html());
}
translated = htmlBuilder.toString();

内容的提问来源于stack exchange,提问作者Isaac Darlong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 18:01:08