標籤:ble lock http .com select 情境 元素 -o ack
最近發現一些無聊的東西,就是抓取網頁上的資料,然後使用安卓原生代碼顯示出來,或者說借用網頁資料,用自訂的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、列印日誌,如下:
到這裡,網頁資料基本可以解析出來。
Android解析HTML網頁資料 第一個方法Jsoup(一)