標籤:des android blog http io ar 使用 sp java
這是一款通過jsoup解析Html擷取內容的網路閱讀器,大學時期閑暇完成,對照CSDN的Web頁面元素設計進行解析提取內容,核心功能就是使用jsoup解析。以下是相關:
核心解析代碼:
package com.weiyi.itreader.util;import java.util.ArrayList;import java.util.List;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import android.util.Log;import com.weiyi.itreader.common.Constant;import com.weiyi.itreader.entity.ITBlog;/** * 功能:ITBlog擷取工具,通過URL解析html擷取網路文章各項資訊,主要用到html解析工具Jsoup * * @author moho * */public class ITBlogUtil {/** * 擷取文章列表 * * @param url * 請求的URL * @return List<ITBlog> IT閱讀文章列表 * */public static List<ITBlog> getITBlogList(String url) {List<ITBlog> itBlogs = new ArrayList<ITBlog>();try {Document doc = Jsoup.connect(url).get();Elements titles = doc.getElementsByClass(Constant.ITBLOG_TITLE_CLASS).tagName("a");// 擷取所有class=link_title的標籤元素Elements dates = doc.getElementsByClass(Constant.ITBlOG_DATE_CLASS);Elements urls = titles.select(Constant.HREF_SELECT);for (int i = 0; i < titles.size(); ++i) {String blogUrl = Constant.ITBLOG_URL+ urls.get(i).attributes().get("href");// 每篇文章的URLString iconUrl = getIconUrlByBlogUrl(blogUrl);ITBlog itBlog = new ITBlog();if (iconUrl != null)itBlog.setIconUrl(iconUrl);// 設定每篇文章的頭表徵圖URLitBlog.setTilte(titles.get(i).text());// 擷取a標籤內的文本,即文章標題itBlog.setDate(dates.get(i).text());// 擷取文章發表日期itBlog.setUrl(blogUrl);// 擷取超連結屬性href的值itBlogs.add(itBlog);}} catch (Exception e) {e.printStackTrace();}return itBlogs;}/** * 擷取文章內容 * * @param url * 請求的URL * @return String IT閱讀文章內容 * */public static String getContentByURL(String url) {String content = "";try {Document doc = Jsoup.connect(url).get();Element contentElement = doc.getElementById(Constant.ITBlOG_CONTENT_ID);content = contentElement.html();} catch (Exception e) {e.printStackTrace();return content;}return content;}/** * 擷取文章表徵圖,根據文章的URL位址解析img標籤擷取src屬性值 * * @param blogUrl * 請求的文章URL * @return String IT閱讀文章表徵圖URL * */public static String getIconUrlByBlogUrl(String blogUrl) {String iconUrl = null;try {Document doc = Jsoup.connect(blogUrl).get();Element contentElement = doc.getElementById(Constant.ITBlOG_CONTENT_ID);// 擷取內容區Elements imgElements = contentElement.getElementsByTag("img");if(imgElements.size()>0) iconUrl = imgElements.get(0).attributes().get("src");// 擷取UIRL,預設取第一個遇到的img的URL} catch (Exception e) {e.printStackTrace();}return iconUrl;}}
:http://tcl.anzhi.com/soft_450735.html http://www.nduoa.com/apk/detail/444229
代碼下載:CSDN抽風,傳不了,晚上再試試
Android網路閱讀器_jsoup解析應用