jsoup是一个非常优秀的爬虫框架,在这篇将和大家分享怎么解析documet对象,里面有哪些方法,并根据id获取节点,根据class获取节点,获取内容。
第一步:获取页面,并分析页面的特点,有哪些class,有哪些id,父节点和子节点的关系,代码如下:
Connection.Response response = Jsoup.connect("http://127.0.0.1:8039/test/login.html") .method(Connection.Method.GET).execute();Document dom = response.parse();System.out.println(dom.toString());
第二步:从上面可以看到form表单的class是layui-form,那么在jsoup里面就可以根据这个class获取节点,代码如下:
Elements el = dom.getElementsByClass("layui-form");System.out.println(el.toString());
第三步:通过前一步可以看到,根据class获取节点后,返回的是一个Elements对象,这个对象里面就是当前节点和它的子节点,Elements方法如下:
el.text(); // 获取非标签文本el.html(); // 获取字节的字符串Elements div = el.select("i"); // 获取标签对象
第四步:根据Id属性获取节点,返回的依然是一个Element对象,因为id在dom中是唯一的,所以获取的单个节点,代码如下:
Element el = dom.getElementById("id");
第五步:获取input的val值,这个和jquery的方法有点类似,也是val(),代码如下:
Element el = dom.getElementById("username");System.out.println(el.toString());String val = el.val();System.out.println(val);
第六步:当然dom操作远不止这些,大家可以取尝试其他方法,欢迎留言一起讨论
标签:爬虫,java,jsoup