现在大多数的接口返回的都是json xml 数据。但是如果对方是html,你怎么办?拿webview去套嘛还是说用TextView.setText(Html.fromHtml(“”));
最近闲的无聊,就想着用抓包工具逛逛那些在线电影的网址,想自己写一个自己用的电影播放工具。顺便研究下投屏技术。当我抓起包的时候 我就懵逼了。这怎么解析?如图:
纯html文本,没玩过啊,这咋搞?难得想学习一波,这么快GG了?那怎么行,5秒真男人不是我作风啊。于是开始各种找解决方案,刚开始问了php的同事,他们告诉我自己写正则匹配。这个有点麻烦,我不推荐,还有一种就是找个能解析dom的库,然后用里面的方法。
想了一下,这正则得匹配到啥时候?匹配完了 遇上标签变化还是得跪啊。算了,安安心心找解析库好了。然后就有了我们今天的主角 jsoup
好了,有了解析器我还怕个毛线啊,直接开撸!首先导入 jsoup
compile 'org.jsoup:jsoup:1.12.1'
请求接口拿到数据后使用
Document doc = Jsoup.parseBodyFragment(s);
但是然后呢?他解析成什么样了我TM哪知道啊?。那怎么去解析呢?当然debug啦!我们来看下debug下界面。
一层层的把你用得到的数据取出来就好啦。具体操作就这么几步。所有的方法在 jsoup上查找api,当然了每个接口返回的数据格式是不一样的,需要注意它的标签变化。来一波解析结果
最后奉上最后效果图,APP有点丑,大家见谅,主要是学习一下。