首页 > 代码库 > 利用jsoup解析个人信息----图书馆客户端
利用jsoup解析个人信息----图书馆客户端
上一篇HTTPclient模拟登陆交大图书馆解决了登陆,登陆之后便可以查看个人信息。个人信息条目较少,如图:
主要就是:姓名、电话、目前借书、积欠金额。
查看其html代码:
下面开始进行解析:
代码
package com.ali.login.spider; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; import com.ali.login.bean.UserInfo; /** * 处理用户信息的业务类 * * @author 述言 * */ public class UserInfoHandler { /** * 根据返回的html 解析出用户信息 * * @return */ public static UserInfo getUserInfo(String htmlstr) { Document document = Jsoup.parse(htmlstr); Elements patNameAddress = document.getElementsByClass("patNameAddress"); Elements brs = patNameAddress.select("br"); // for (Element br : brs) { // // System.out.println(br.nextSibling().toString().trim()); // } String phoneNum = brs.get(0).nextSibling().toString(); String curLend = brs.get(1).nextSibling().toString(); int curLendNum = Integer.parseInt(curLend.substring(curLend .indexOf(":") + 1)); System.out.println(curLendNum); String debt = brs.get(4).nextSibling().toString(); debt = debt.substring(debt.indexOf(":") + 1); Elements infos = patNameAddress.get(0).children(); String name = infos.get(0).text(); UserInfo userInfo = new UserInfo(name, phoneNum, curLendNum, debt); return userInfo; } }
在登陆时,将用户的详细信息(加上用户名及密码)封装成userinfo对象,然后将其存入数据库。
测试代码:
boolean isConn = LibraryUtil.login(stuNo, password); /** * 若登陆成功则将信息保存到数据库(学号、密码需要加密)。 */ if (isConn) { String resultHtml = LibraryUtil.getResultHtml(); UserInfo userInfo = UserInfoHandler.getUserInfo(resultHtml); userInfo.setStuNo(stuNo); userInfo.setPassword(password); System.out.println("========"); System.out.println(userInfo.toString()); }
如此便得到了用户的信息
参考:jsoup:解析HTML用法小结
利用jsoup解析个人信息----图书馆客户端
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。