Android网络阅读器_jsoup解析应用

来源:互联网 发布:美工30岁后能转型 编辑:程序博客网 时间:2024/06/03 21:24

这是一款通过jsoup解析Html获取内容的网络阅读器,大学时期闲暇完成,对照CSDN的Web页面元素设计进行解析提取内容,核心功能就是使用jsoup解析。以下是相关截图:

下载地址:http://tcl.anzhi.com/soft_450735.html   http://www.nduoa.com/apk/detail/444229

开源地址:https://github.com/weiyirong/HappyReader



核心解析代码:

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;}}


3 0
原创粉丝点击