轉載請注明出處:http://www.lxweimin.com/p/27a2c7e3e541
歡迎訪問:程序員自己的導航網站---極客導航
一、概述
我們都知道大部分后端返回給移動端的數據都是以Json數據返回的。有些時候如果我想直接顯示網頁上數據怎么辦呢。可能我們都知道直接寫WebView
控件就可以了,但是webview顯示網頁的效果目前看來并不是很好,因為它要渲染,所有用戶體驗不好。那最好的辦法就是我們把網頁上的數據轉化成自己的數據。下面就介紹一個神器。
二、jsoup
jsoup
是解析html的神器,因為網頁的上數據也是規律的,所以jsoup
通過的它的可以解析成Document
對象,通過Document
對象可以取出我們想要的數據。下面列出jsoup一些相關的地址:
三、使用
首頁先在AndroidStudio引用,如圖:
這里寫圖片描述
注意:使用請放在子線程上,否則會報錯,對了,別忘記加上網絡權限。
前期工作準備完畢,接下來我們得找一個網頁,當我們的數據源了。作為一個資深段友,那么我們就那內涵段子做我們的數據源吧。內涵段子。我們來分析它的html是怎么樣的。如圖:
這里寫圖片描述
可以看出它的內容是一個div下面的元素p里面的文本
那么我把div解析出來,在解析出div里面的p,在拿到p里面的內容,這樣就可以解析出來。上代碼:
image
效果如下:
image
我們可以出數據已經解析出來,在轉化成我們自己的Bean類,就可以展示了。我們發現他這個內容其實是兩個div嵌套,我們解析的是第一個div。那么我們直接解析第二個div是否也可以解析出來內容呢,我們來試試:
image
你會發現得到同樣的效果,可以肯定只要我們找到一個div標簽就可以解析出來里面的內容。
有一種需求就是我們想解析例如a
標簽里面的href
內容,這個時候我們就不能用.text方法了,得用.attr方法。具體代碼如下:
image
效果如下:
image
解析到這,我相信所有都知道怎么取出該條內容點贊數、踩數、收藏數的了。代碼如下:
這里寫圖片描述
還有一些評論數,大家按照這樣方式解析一下。取到這些數據,其實我們就可以做成一個應用首頁了。因為我們想要的數據都有了。
當然我們還有一些需求,就是我們我想要一些數據是經過我們修改的,就是我們要修改html里面的值。如下:
image
效果如下:
image
其余大家可以參考一下中文文檔。恩,就先這樣。