Android利用Jsoup解析html 開發網站客戶端小記。
這些天業餘時間比較多,閒來無事,想起了以前看過開發任意網站客戶端的一篇文章,就是利用jsoup解析網站網頁,通過標籤獲取想要的內容。好了廢話不多說,用到的工具為 jsoup-1.7.2.jar包,具體jsoup的相關文件,請去這邊看http://jsoup.org/,這裡有全部Api可以查詢。
這裡解析的網站是一個食譜網站,首先解析的是大類欄目標籤。
如果你使用過jquery那麼 ,接下來的事情就小菜一碟了,我們按F12進入瀏覽器的開發者模式,去分析當前html頁面的結構,如下圖:
每個<li></li>標籤裡面的值就是我們需要的,接下來我們需要非同步去獲取網頁資訊,首先建立一個連線,生成一個Document物件,取得標題所在<ul>的id值,通過select過濾。
Elements divs = content.select("#siteNav");
然後通過Jsoup去解析上圖的標籤,通過迴圈取出標題欄還有子目錄的超連結,插入資料庫,超連結用作展開子目錄的網頁地址,像這種網站大的標題結構一般是不會改變的,可以留作快取,而不用每次進入總要載入解析。
//非同步獲取資訊 class Loadhtml extends AsyncTask<String, String, String> { ProgressDialog bar; Document doc; @Overrideprotected String doInBackground(String... params) { // TODO Auto-generated method stub try { doc = Jsoup.connect(Constans.NetAddress).timeout(5000).post(); Document content = Jsoup.parse(doc.toString()); Elements divs = content.select("#siteNav"); Document divcontions= Jsoup.parse(divs.toString()); Elements element = divcontions.getElementsByTag("li"); Log.d("element", element.toString()); for(Element links : element) { String title = links.getElementsByTag("a").text();
String link = links.select("a").attr("href").replace("/", "").trim(); String url = Constans.NetAddress+link; ContentValues values = new ContentValues(); values.put("Title", title); values.put("Url", url); usedatabase.insert("Cach", values); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } @Override protected void onPostExecute(String result) { // TODO Auto-generated method stub super.onPostExecute(result); // Log.d("doc", doc.toString().trim()); bar.dismiss(); ListItemAdapter adapter = new ListItemAdapter(context, usedatabase.getlist()); listmenu.setAdapter(adapter); } @Override protected void onPreExecute() { // TODO Auto-generated method stub super.onPreExecute(); bar = new ProgressDialog(context); bar.setMessage("正在載入資料····"); bar.setIndeterminate(false); bar.setCancelable(false); bar.show(); } }
最終手機斷顯示
今天就總結到這裡,下次具體講解析完資料後,通過SQLITE儲存,還有每個標題的子目錄展開等。
相關推薦
Android利用Jsoup解析html 開發網站客戶端小記。
這些天業餘時間比較多,閒來無事,想起了以前看過開發任意網站客戶端的一篇文章,就是利用jsoup解析網站網頁,通過標籤獲取想要的內容。好了廢話不多說,用到的工具為 jsoup-1.7.2.jar包,具體jsoup的相關文件,請去這邊看http://jsoup.org/,這裡有全部Api可以查詢。 這裡解析的網
Android中利用jsoup解析html頁面
學習jsoup :jsoup學習網站 Android 中使用: 新增依賴 implementation 'org.jsoup:jsoup:1.10.1' 直接上程式碼: package com.loaderman.jsoupdemo; import android.
利用jsoup解析html
1、jsoup簡介 jsoup 是一款 Java的HTML解析器,可直接解析某個URL地址、HTML文字內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似於jQuery的操作方法來取出和操作資料。jsoup 的主要功能如下: (1)從一個 UR
關於利用Jsoup解析HTML中 ;變成非傳統空格或亂碼問題解決方法
在寫爬蟲的時候很多時候會遇到這種問題:HTML中原始碼顯示 ;沒問題,但是利用Jsoup的text()方法獲取的文字就會出現問題,一般情況是 ;變成非傳統空格或者亂碼,這樣在解析的時候想切分字串會無法成功。因為 ;是ISO-8
手把手教學 Android用jsoup解析html
1.jsoup介紹 很多時候,我們需要從各種網頁上面抓取資料,而jsoup 是一款Java 的HTML解析器,可直接解析某個URL地址、HTML文字內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似於jQuery的操作方法來取出和操作資料。 2.使用場景 下面是一張關於美食的截圖,可以留意到
Jsoup開發網站客戶端第二篇,圖片輪播,ScrollView相容ListView
最近一段日子忙的焦頭爛額,程式碼重構,新專案編碼,導致jsoup開發網站客戶端也沒時間繼續下去,只能利用晚上時間去研究了。今天實現美食網首頁圖片輪播效果,網站效果圖跟Android客戶端實現如圖: 從瀏覽器開發者模式可以看到這個輪播圖片效果的圖片地址以及html連線 用節點解析出包含圖片url
Android通過Jsoup解析Html原始碼
WebViewClient的作用就是幫助WebView處理各種通知、請求事件的,onPageFinished顧名思義在頁面載入完成後進行的操作,通過javascript語法獲取的內容,通過local_obj呼叫InJavaScriptLocalObj中的showSource()方法
Java使用Jsoup解析Html中標籤,新增屬性。
設定Html中標籤屬性的值 問題 為java生成的html檔案mate標籤新增屬性charset=”utf-8”。 方法 可以使用屬性設定方法 Element.attr(String key, String value), 和 Elements.at
我的Android筆記(八)—— 使用Jsoup解析Html
想要做一個看新聞的應用,類似Cnbeta客戶端的東西。大致思路如下:根據連結獲取新聞列表頁的html程式碼,然後解析,找到所有的新聞標題和新聞連結用listView顯示,當點選ListView的Ite
通過使用jsoup解析html,繪畫表格生成execl文件
num group wid 字符 for format 格式 colspan tables 1.獲取文件或者字符設置繪畫表格字符編碼 //得到Document並且設置編碼格式 public static Document getDoc(String fileNam
【轉載儲存】Jsoup解析html常用方法
首先我們要清楚 class的繼承關係 Document 繼承於 Element 繼承於 Node 繼承於 Object 首先 我們先研究一下 Element 中的函式作用: 01 addClass(String className)  
使用JSOUP解析HTML文件
這篇文章主要介紹了Jsoup如何解析一個HTML文件、從檔案載入文件、從URL載入Document等方法,對Jsoup常用方法做了詳細講解,最近提供了一個示例供大家參考 使用DOM方法來遍歷一個文件 從元素抽取屬性,文字和HTML 獲取所有連結 解析和遍歷一個H
Netty開發redis客戶端,Netty傳送redis命令,netty解析redis訊息
Netty開發redis客戶端,Netty傳送redis命令,netty解析redis訊息, netty redis ,redis RESP協議。redis客戶端,netty redis協議 我們可以使用redis-cli這個客戶端來操作redis,也可以使用window的命令列telnet連線redis。
Jsoup—解析HTML頁面資料的工具
原文地址!尊重原創! 介紹: GitHub原始碼 點選檢視 程式碼jar包 點選下載 Jsoup是一款比較好的Java版HTML解析器。可直接解析某個URL地址、HTML文字內容。它提供了一套非常省力的API,可通過DOM,CS
爬蟲基礎之Jsoup解析HTML
Jsoup的Maven座標 <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1
低價高可靠的短視訊去水印解析API,搞客戶端開發的童鞋們,拿去不謝!
本文適合這些人閱讀:iOS開發者、Android開發者、小程式開發人員、H5開發人員等客戶端開發人員。 今天要給客戶端開發者們介紹的一個介面是iiiLab提供的視訊去水印解析介面,介面特點: 1. 通用介面支援解析抖音、快手、火山、今日頭條、西瓜視訊、微博、秒拍、小咖秀、晃咖、微視、美拍
Android-使用者登陸的例子(伺服器端開發到客戶端實現)
1.回顧 上篇實現總結了App介面開發課程講解的內容 2.此篇 這篇將總結app介面開發裡的 使用者登入的例子! 3.基本步驟 (1)服務端實現 登陸介面 開發 (2)實現 json 和xml資料封裝類 (3)編寫 介面開
jsoup開發網頁客戶端3
這個系列好久沒更新,最近好忙,老大說未來是Html5的,所以最近一直學習前端以及Html5的一些東西。Android5.0的誕生,讓我們眼前一亮,獨特的Material風格更是吸引了無數人。 話說不學習學習就要落伍了,剛好自己一直很喜歡看這個網站的東西 http://www.techug.com/,
使用Jsoup解析Html == TextView顯示html圖片的方法
想要做一個看新聞的應用,類似Cnbeta客戶端的東西。大致思路如下:根據連結獲取新聞列表頁的html程式碼,然後解析,找到所有的新聞標題和新聞連結用listView顯示,當點選ListView的Item再載入相應的新聞內容。 其中獲取html程式碼,可以使用如下程式碼
Jsoup學習筆記2:Jsoup解析HTML程式碼標籤與屬性
接著上一篇的Jsoup學習筆記1繼續學習,雖然是轉載自上面連結的文章,但是程式做了一點改動,方便自己以後的檢視 package com.daxiang.myjsoup; import org.jsoup.Jsoup; import org.jsoup.nodes.D