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
- Android网络阅读器_jsoup解析应用
- Android IT资讯网络阅读器_jsoup解析
- Android_HTML解析器_jsoup
- Android_HTML解析器_jsoup
- Android开发_Jsoup抓取网页信息
- RSS阅读器(使用android解析技术解析网络中的xml文件并以列表的形式显示出来)
- android网络应用开发完全解析
- Android网络应用(三)——网络数据解析
- android 阅读器
- 【应用】Markdown 在线阅读器
- 【应用】Markdown 在线阅读器
- android网络通信解析
- Android网络解析
- android网络通信解析
- 我的第一个android手机应用 android阅读器 android书架
- XML解析(RSS阅读器)
- Android RSS阅读器
- Android RSS阅读器
- 第二章线性表的总结
- android4.3以后的截屏笔记
- ubuntu修复启动项
- 基于mina架构的JTT808协议两种解码方式性能比较
- Strace命令使用
- Android网络阅读器_jsoup解析应用
- USACO 1.3 Barn Repair (动态规划再写次)
- IDispatch接口 - GetIDsOfNames和Invoke
- 日语学习之沪江N4基础 20141126 -3
- 数据库设计范式实例解析
- 【GitHub上的ios经典库库、学习资料】iOS frameworks, libraries, tutorials, xcode plugins and components.
- 快速排序
- 将数字10020001转换成大写读法
- mybatis - 获取自增ID