Android解析HTML網頁數據 第一個方法Jsoup(一)


最近發現一些無聊的東西,就是抓取網頁上的數據,然后使用安卓原生代碼顯示出來,或者說借用網頁數據,用自定義的View顯示。

借助jsoup-1.10.2.jar庫,獲取並解析數據。(Jsoup百度雲下載地址:http://pan.baidu.com/s/1nvSFKyl)

jsoup官方文檔:
https://jsoup.org/cookbook/

中文文檔:
http://www.open-open.com/jsoup/

應用場景:

 

我需要獲取博客園網頁上的數據,如圖中標記的文字標題,鏈接,文本簡介。

1、瀏覽器打開網頁,然后右鍵查看網頁源碼,或者按F12審查元素。(區別:審查元素(或者用開發者工具,Firebug)看到的是現在實時性的內容(經過js的修改),而網頁源代碼看到的是就是最開始瀏覽器收到HTTP響應內容)

找到對應的Html代碼。

2、找到對應的節點<div class="post_item_body"> <a class="titlelnk"> <p class="post_item_summary">,使用Jsoup解析。代碼如下:

public void testJsoup(){
        new Thread(new Runnable() {
            
            @Override
            public void run() {
                // TODO Auto-generated method stub
                try {
                    Document doc = Jsoup.connect("http://www.cnblogs.com/").get();
                    
                    Elements elements = doc.select("div.post_item_body");
                    
                    for(Element element : elements){
                        Elements title = element.select("a.titlelnk");
                        Log.e("title:", title.get(0).text());
                        Log.e("url", title.get(0).attr("href"));
                        
                        Elements content = element.select("p.post_item_summary");
                        Log.e("content:", content.get(0).text());
                        
                    }
                    
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (Exception e) {
                    // TODO: handle exception
                }
                
            }
        }).start();
    }

 

3、打印日志,如下:

到這里,網頁數據基本可以解析出來。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM