您当前的位置: 首页 >  Java

ITKEY_

暂无认证

  • 0浏览

    0关注

    732博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java爬虫html解析神器Jsoup

ITKEY_ 发布时间:2022-06-19 23:45:00 ,浏览量:0

jsoup是一个用于解析、提取、操作HTML的开源Java函式库。在我眼里就是一个java版本的jquery,非常强大!!! jsoup在2009年由亚马逊软件开发经理Jonathan Hedley所编写。他在MIT许可(类似知识共享授权条款的宽松自由软件授权条款)下发布的。 Hedley编写jsoup的用意在于“处理所有种类的HTML。从原始和验证,到无效标签汤。

mvn依赖

最新版本在这里找:https://mvnrepository.com/artifact/org.jsoup/jsoup 当前的最新版本是


        
            org.jsoup
            jsoup
            1.14.3
        
Jsoup解析方法

Jsoup支持四种方式解析Document,即可以输入四种内容得到一个Document:

  • 解析字符串
  • 解析body片段
  • 从一个URL解析
  • 从一个文件解析

本节转载自:- https://www.cnblogs.com/youyoui/p/11065923.html

字符串解析示例

字符串中必须包含head和body元素。

String html = "First parse"
  + "

Parsed HTML into a doc.

"; Document doc = Jsoup.parse(html);
HTML片段解析
String html = "

Lorem ipsum.

"; Document doc = Jsoup.parseBodyFragment(html); Element body = doc.body();
从URL解析
Document doc = Jsoup.connect("http://example.com/").get();
String title = doc.title();

还可以携带cookie等参数:

Document doc = Jsoup.connect("http://example.com")
  .data("query", "Java")
  .userAgent("Mozilla")
  .cookie("auth", "token")
  .timeout(3000)
  .post();
从文件解析
File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");
实战

全部API我就不列出来了,可以到 https://jsoup.org/查阅。我只列出我常用的。

大多数的写法与jquery类似,根据IDEA的智能提示就可以直接按jquery的写法处理了。

找出class="ewb-info-item2"所有元素
Document document = Jsoup.parse(htmlSource);
Elements lis = document.getElementsByClass("ewb-info-item2");
System.out.println(lis);
获取所有子div
 Elements divs = li.getElementsByTag("div");
参考
  • https://zh.wikipedia.org/zh-cn/Jsoup
  • https://jsoup.org/
  • https://www.cnblogs.com/youyoui/p/11065923.html
关注
打赏
1665243900
查看更多评论
立即登录/注册

微信扫码登录

0.0400s