接口返回html數(shù)據(jù)解析

現(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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容