Jsoup - 在 Java 中提取和解析 HTML 代码
Jsoup 是一个<我>书商 de Java 谁处理代码 HTML。这是一个API 非常方便使用以下最佳方法提取和操作数据 DOM, CSS et jquery.
Features:
- 解析 URL、文件或字符串中的 HTML 代码。- 使用 DOM 树和 CSS.
- 操作元素和文本 HTML.
- 通过擦除用户的订阅来防止 XSS 攻击。
- 创建一个整洁的 HTML 代码。
JSoup 旨在适应不同版本的 HTML,它创建了一个分析树。
单击到 下载 jsoup.
示例:
检索维基百科页面,将其转换并解析为 DOM,然后从新闻部分选择项目列表。
文档文档 = Jsoup.connect(http://fr.wikipedia.org”).get();
1 - 解析文档
此代码用于分析 document HTML:
String html = <头><标题>第一个标题"
+ "<身体><要记录的示例代码";
Document doc = Jsoup.parse(html);
+ "<身体><要记录的示例代码";
Document doc = Jsoup.parse(html);
解析器将尽最大努力从您提供的代码创建清晰的 HTML 代码,它处理:
- 未闭合的标签,例如:
- 隐式标签,例如:
<道明> 桌子被包围 <表><道明>
- 创建的代码结构符合 HTML 语言的标准(标题、主体和构成页面的元素).
- 未闭合的标签,例如:
- 隐式标签,例如:
<道明> 桌子被包围 <表>
- 创建的代码结构符合 HTML 语言的标准(标题、主体和构成页面的元素).
2- 从 String
我们在 Java 字符串中拥有 HTML,我们想将其分解以包含其内容,或者检查它是否写得好,或者修改它。可以从文件或 Web 链接中读取条目。
String html = <头><标题>标题"
+ "<身体>
+ "<身体>
html en doc";
Document doc = Jsoup.parse(html);
方法 Jsoup.parse(字符串 html, 字符串 Uri) 解析新 HTML 代码输入公文。URI 参数用于将 相对 URL 转换为绝对 URL,并且应该 待办事项 使用其文档的 URL 初始化 恢复。如果这是不可能的,你可以 使用 Jsoup.parse(String html).
3- 解析 body
我们有一件紧身衣,我们想分析一下。例如,代码可以包含非 HTML 代码的元素,例如 comments.
解决方案是使用Jsoup.parseBodyFragment(String html).
String html=
parseBodyFragment 方法创建一个空文档,并将解析的 HTML 插入到正文中。如果使用Jsoup.parse(String html),你会得到 相同 结果,但将输出视为 正文片段确保所有提供的元素都已解析。
.post();
<;
Document doc = Jsoup.parseBodyFragment(html);
元素 body = doc.body();
Document doc = Jsoup.parseBodyFragment(html);
元素 body = doc.body();
parseBodyFragment 方法创建一个空文档,并将解析的 HTML 插入到正文中。如果使用Jsoup.parse(String html),你会得到 相同 结果,但将输出视为 正文片段确保所有提供的元素都已解析。
Document.body() 方法检索元素 下(儿童)身体,相当于doc.getElementsByTag(body”).
4- 从 URL
要从 Web 搜索和解析 HTML 文档并查找数据,必须使用Jsoup.connect(字符串网址).
Document 文档 = Jsoup.connect(http://siteweb.com/”).get();
String title = doc.title();
connect(String url) 创建一个新的connexion get() 搜索并解析 HTML 文件。如果一个 搜索过程中出现的错误,异常将being triggered.
界面 connexion 设计于 chaining 对于具体答案 :
Document doc = Jsoup.connect(http://siteweb.com”).timeout(3000)
.data(query”, Java”).userAgent(Mozilla”)
.cookie(auth”, token”)
.post();
此方法仅支持 http 和 https 协议的 URL。如果需要上传文件,最好使用 parse(File in, String charsetName).
5- 从文件加载文档
我们有一个包含 HTML 的文件,我们想要加载它,然后分析它并提取数据来操作它。您应该使用方法 Jsoup.parse(File in, String encoding, String Uri).
文件 输入 = new File(/temp/siteinput.html”);
Document doc = Jsoup.parse(siteinput , UTF-8”, http://siteweb.com/”);
Uri 参数用于解析文档中 < 元素之前的相对 URL赫里夫>被发现。您可以传递一个空的 String.
还有另一种类似的方法parse(File in, String encoding)。parse() 方法使用文件路径作为 Uri。此方法在本地服务器上工作时有效。