Jsoup - 在 Java 中提取和解析 HTML 代码

Jsoup 是一个<我>书商 de Java 谁处理代码 HTML。这是一个API 非常方便使用以下最佳方法提取和操作数据 DOM, CSS et jquery.
jsoup 实现了 HTML5 的特征,并像现代浏览器一样解析树 (DOM) 中的 HTML 代码。JSOUP 是一个开源项目,在MIT许可证。源代码见于 GitHub.
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);

    解析器将尽最大努力从您提供的代码创建清晰的 HTML 代码,它处理:

    - 未闭合的标签,例如:
    - 隐式标签,例如:
        <道明> 桌子被包围 <表><道明>
    - 创建的代码结构符合 HTML 语言的标准(标题、主体和构成页面的元素).

    2- 从 String

    我们在 Java 字符串中拥有 HTML,我们想将其分解以包含其内容,或者检查它是否写得好,或者修改它。可以从文件或 Web 链接中读取条目。
    你必须使用预定义的方法 Jsoup.parse(字符串 html) 或者 Jsoup.parse(字符串 html, 字符串 Uri) 如果页面来自网络。见 class Jsoup.

    String html = <头><标题>标题"
     + "<身体>

    html en doc";
    Document doc = Jsoup.parse(html);


    方法 Jsoup.parse(字符串 html, 字符串 Uri) 解析新 HTML 代码输入公文。URI 参数用于将 相对 URL 转换为绝对 URL,并且应该 待办事项 使用其文档的 URL 初始化 恢复。如果这是不可能的,你可以 使用 Jsoup.parse(String html).
    作为参数传递的字符串不得为 null,输出文档将由小于 head et de body.如果你 obturerez 一个例外情况,您会发现树的提取未完成。正确阅读文档 更多信息.
    获得文件后,您将能够:恢复 使用类的方法的数据 文件和更高等级 节点 et Element.

    3- 解析 body

    我们有一件紧身衣,我们想分析一下。例如,代码可以包含非 HTML 代码的元素,例如 comments.
    解决方案是使用Jsoup.parseBodyFragment(String html).

    String html=
    <;
    Document doc = Jsoup.parseBodyFragment(html);
    元素 body = doc.body();


    parseBodyFragment 方法创建一个空文档,并将解析的 HTML 插入到正文中。如果使用Jsoup.parse(String html),你会得到 相同 结果,但将输出视为 正文片段确保所有提供的元素都已解析。
    Document.body() 方法检索元素 下(儿童)身体,相当于doc.getElementsByTag(body”).
    建议在 恢复来自包含脚本的网站的数据恶性。查看文档whitelist 并用订单 clean(String html, 白名单白名单).

    4- 从 URL

    要从 Web 搜索和解析 HTML 文档并查找数据,必须使用Jsoup.connect(字符串网址).

    Document 文档 = Jsoup.connecthttp://siteweb.com/”).get();
    String title = doc.title();
    connect(String url) 创建一个新的connexion get() 搜索并解析 HTML 文件。如果一个 搜索过程中出现的错误,异常将being triggered.
    界面 connexion 设计于 chaining 对于具体答案 :

    Document doc = Jsoup.connecthttp://siteweb.com”
     .dataquery” Java”
     
    .userAgentMozilla”
     .cookieauth” token”
     .timeout3000
     .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.parsesiteinput UTF-8” http://siteweb.com/”);
    Uri 参数用于解析文档中 < 元素之前的相对 URL赫里夫>被发现。您可以传递一个空的 String.
    还有另一种类似的方法parse(File in, String encoding)。parse() 方法使用文件路径作为 Uri。此方法在本地服务器上工作时有效。