Java html解析器之Jsoup

  • 提供解析html、操作DOM的api,类似jquery的方法。

    • 自动校正html中错误语法。甚至只有div元素,都会被补充成完整完整。
  • 引入maven项目:

    <dependency>
      <groupId>org.jsoup</groupId>
      <artifactId>jsoup</artifactId>
      <version>1.12.1</version>
    </dependency>
    
  • Jsoup:通过该类,可传入url、字符串、输入流、文件的方式输入html,解析后会返回Document表示html文档,然后进行DOM操作。

    • Jsoup.parse(String html):从字符串中获取html并解析

    • Jsoup.parse(String html,String baseUri)baseUri指定html中相对地址的基址,当获取相对地址的绝对地址时有用。如果html中含有base元素时或不需要该功能,可不用该方法。

    • Jsoup.connect(String url):从url上获取,例子如下:

      Document doc = Jsoup.connect("http://example.com/").get();
      String title = doc.title();
      //更复杂的例子
      Document doc = Jsoup.connect("http://example.com")
        .data("query", "Java")
        .userAgent("Mozilla")
        .cookie("auth", "token")
        .timeout(3000)
        .post();
      

      这种方式已默认设置好了baseurl

    • Jsoup.parse(File in, String charsetName, String baseUri):从文件中获取html

  • 查找元素:DOM方式css选择器方式

  • 获取数据

  • 获取URL:Element类的attr("href")方法获取url;加上前缀abs后,会结合之前设置的baseUri解析成绝对地址,如attr("abs:href")。如果没有设置则返回空。

  • 修改DOM和其他内容,见参考文献

参考

jsoup cookbook

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值