現(xiàn)在大多數(shù)的接口返回的都是json xml 數(shù)據(jù)。但是如果對方是html,你怎么辦?拿webview去套嘛還是說用TextView.setText(Html.fromHtml(“”));
最近閑的無聊,就想著用抓包工具逛逛那些在線電影的網(wǎng)址,想自己寫一個自己用的電影播放工具。順便研究下投屏技術(shù)。當(dāng)我抓起包的時(shí)候 我就懵逼了。這怎么解析?如圖:QQ截圖20190624151730.png
純html文本,沒玩過啊,這咋搞?難得想學(xué)習(xí)一波,這么快GG了?那怎么行,5秒真男人不是我作風(fēng)啊。于是開始各種找解決方案,剛開始問了php的同事,他們告訴我自己寫正則匹配。這個有點(diǎn)麻煩,我不推薦,還有一種就是找個能解析dom的庫,然后用里面的方法。
想了一下,這正則得匹配到啥時(shí)候?匹配完了 遇上標(biāo)簽變化還是得跪啊。算了,安安心心找解析庫好了。然后就有了我們今天的主角 jsoup
好了,有了解析器我還怕個毛線啊,直接開擼!首先導(dǎo)入 jsoup
compile 'org.jsoup:jsoup:1.12.1'
請求接口拿到數(shù)據(jù)后使用
Document doc = Jsoup.parseBodyFragment(s);
但是然后呢?他解析成什么樣了我TM哪知道啊?。那怎么去解析呢?當(dāng)然debug啦!我們來看下debug下界面。

數(shù)據(jù)解析.png
一層層的把你用得到的數(shù)據(jù)取出來就好啦。具體操作就這么幾步。所有的方法在 jsoup上查找api,當(dāng)然了每個接口返回的數(shù)據(jù)格式是不一樣的,需要注意它的標(biāo)簽變化。來一波解析結(jié)果
成果.png
最后奉上最后效果圖,APP有點(diǎn)丑,大家見諒,主要是學(xué)習(xí)一下。

演示.gif

