如何将用 Jsoup(Java html 解析器)制作的文档转换为字符串

Posted

技术标签:

【中文标题】如何将用 Jsoup(Java html 解析器)制作的文档转换为字符串【英文标题】:How do I convert a document made in Jsoup (the Java html parser) into a string 【发布时间】:2011-10-15 10:59:27 【问题描述】:

我有一个用 jsoup 制作的文档,看起来像这样

Document doc = Jsoup.connect("http://en.wikipedia.org/").get();

如何将 doc 转换为字符串。

【问题讨论】:

【参考方案1】:

你试过了吗:

Document doc = Jsoup.connect("http://en.wikipedia.org/").get();
String htmlString = doc.toString();

作为 Document 扩展 Element 它还具有根据@987654321“检索元素的内部 HTML”的方法 html() @。所以这应该工作:

Document doc = Jsoup.connect("http://en.wikipedia.org/").get();
String htmlString = doc.html();

其他信息:

每个 Document 对象都有一个对内部类 Document.OutputSettings 实例的引用,可以通过方法 outputSettings()访问该实例> 文件。在那里,您可以使用设置器 prettyPrint(true/false) 启用/禁用漂亮打印。有关详细信息,请参阅 DocumentDocument.OutputSettings 的 API

【讨论】:

第一个代码块给了我[Ljava.lang.String;@383534aa,而不是html/内容。顺便说一句,如果它是 Document[] 怎么办?【参考方案2】:

doc.toString() 有效,doc.outerHtml() 也有效。

【讨论】:

Document.toString() 内部调用outerHtml()【参考方案3】:
 Document doc = Jsoup.connect("http://en.wikipedia.org/").get();     
 Elements post = doc.select("div.post-content");
 String dd = post.toString();
 Document ddd = Jsoup.parse(dd);

将字符串解析为文档后,您可以在其上使用文档函数

 Elements scriptTag = ddd.getElementsByTag("script");
 System.out.println(scriptTag);

【讨论】:

以上是关于如何将用 Jsoup(Java html 解析器)制作的文档转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章

HTML&XML解析器--Jsoup

Java 爬虫工具Jsoup解析

jsoup教程

Java爬虫利器HTML解析工具-Jsoup

jsoup 解析HTML信息

Jsoup 配置和使用