这两天碰到需要请求别人网站接口,然后接口返回来的是一个html的网页形式,所以需要解析网页,所以选择用jsoup来解析,这是一个挺好用的工具包吧,反正看了挺多人用的,先贴代码吧。
我这里用的不多的,我是自己用httpclient请求得到数据,然后再用jsoup解析,不过也可以直接用jsoup去请求,直接得到解析对象,不过jsoup底层也是用Httpclient先请求的,没差
resultString = HttpClientUtil.doGet(ticketUrl, cookie); //请求得到字符串形式的返回体,这里是html的字符串
Document document = Jsoup.parse(resultString); //然后用Jsoup将字符串转换为doucument,这其实跟解析xml差不多吧。
String ticket = document.getElementById("autopost").getElementsByTag("input").val(); //这里先用getElementById拿到标签id是autopost的节点,然后通过byTag拿到标签,再val()拿到这个标签的值,
Elements elements = document.getElementsByTag("script");
String[] varList = elements.get(3).data().toString().split("var");
这里也一样,这是拿script的值,通过标签拿所以的script节点,然后get(3)拿到第四个script节点,再拿里面的值
暂时用的是这些,就是先转换为解析对象,Doucement再一步步解析,方法很多,通过id拿,通过标签拿,通过class拿节点等等,不过jsoup有一个好处就是,他能自动给你补html格式,详细我看了一个文章,