Android网络阅读器_jsoup解析应用

这是一款通过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");// 每篇文章的URL
				String iconUrl = getIconUrlByBlogUrl(blogUrl);
				ITBlog itBlog = new ITBlog();
				if (iconUrl != null)
					itBlog.setIconUrl(iconUrl);// 设置每篇文章的头图标URL
				itBlog.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抽风,传不了,晚上再试试

时间: 2024-11-07 21:15:10

Android网络阅读器_jsoup解析应用的相关文章

Android IT资讯网络阅读器_jsoup解析

这是一款通过jsoup解析Html获取内容的网络阅读器,和前面的其实是类似的,也是大学时期闲暇完成,对照CSDN的Web页面元素设计进行解析提取内容,核心功能就是使用jsoup解析.以下是相关截图 下载地址:http://www.nduoa.com/apk/detail/434393 代码下载:http://download.csdn.net/detail/weiyirong/7803851

Android IT资讯网络阅读器应用源码

这个是Android IT资讯网络阅读器应用,也是一款通过jsoup解析Html获取内容的网络阅读器,和前面的其实是类似的,也是大学时期闲暇完成,对照CSDN的Web页面元素设计进行解析提取内容,核心功能就是使用jsoup解析.以下是相关截图. 源码下载: http://code.662p.com/view/9746.html 运行截图 运行截图 运行截图 详细说明:http://android.662p.com/thread-6090-1-1.html

Android IT资讯网络阅读器

这是一款通过jsoup解析Html获取内容的网络阅读器,和前面的其实是类似的,也是大学时期闲暇完成,对照CSDN的Web页面元素设计进行解析提取内容,核心功能就是使用jsoup解析.以下是相关截图. 下载地址:http://www.devstore.cn/code/info/496.html 运行截图:   

android网络编程之pull解析xml

android网络编程之pull解析xml 除了前面介绍过的SAX以及DOM方法,还可以通过Pull对xml文档进行一个解析.Pull解析器的解析方式与SAX非常相似.它提供了类似的事件,使用parser.next()可以进入下一元素并触发相应事件,事件将作为数值代码被发送,因此可以使用一个switch对感兴趣的事件进行选择,然后进行相应的处理,调用parser.nextText()方法可以获取下一个Text类型元素的值. pull解析器特点: *结构简单:一个接口.一个例外.一个工厂就组成了P

基于Android小说阅读器滑动效果的一种实现

看过小说都知道小说阅读器翻页有好多种效果,比如仿真翻页,滑动翻页,等等.由于某种原因,突然想写一个简单点的滑动翻页效果.在这里写出来也没有什么意图,希望大家可以根据这个效果举一反三,写出其他的效果.图就不上了. 下面是代码:大家理解onTouch事件即可 package com.example.testscroll.view; import android.content.Context; import android.util.AttributeSet; import android.view

android rss阅读器开发一点小技巧

这几天一直在学习开发Rss阅读器,遇到一个很坑的问题,InputSource这里总是出错.弄了好久,终于让我找到一个解决方法----看代码: new Thread(){ @Override public void run() { try { URL url = new URL(RSS_URL); SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser parser = factory.newSAXParser();

核心技术篇:6.android网络编程之json解析

前言:好一段时间没写博客了,说最近挺忙的,感觉像是个借口,每天还是同样的24个小时,每天还是同样的5:30就准时下班,每天晚上还是有大量的空余时间...最直接的原因就是,最近堕落了.脑子里也时常会有很多想法浮现,都是些比较实际的想法,但往往就是浮现那一下,心情激动了一下,心里默默告诉自己,有时间就要这么做...好多想法都被一些其它的诱惑给磨灭掉了,要么是打球.要么是看电影.要么是处理一些乱七八糟的事去了.总之,近段时间,花在技术上的时间很少很少,好好反思下. 前段时间,来了一位新疆的客户,提出了

android 资讯阅读器

最近找申请到了一个不错的接口 , 非常适合拿来写一个资讯类的app. 现在着手写,随写随更.也算是抛砖引玉.烂尾请勿喷.╭(╯^╰)╮ 第一阶段目标样式(滑动切换标签 , 侧滑菜单): 图1 图2 首先我使用的ide 是android studio 2.0 已经集成了侧滑菜单的module 新建的时候选一下就好了.过程就不细说了.这个很简单. 下面就是实现滑动切换tab的效果啦.其实我这个写的并不是很好看,网上还有很多开源的滑动切寒tab的案例 盆友们可以自己去集成下.下面说下我的tab的实现效

电子书及阅读器Demo

电子书阅读器(Kindle,电子纸技术.LCD.电子墨水技术等: 亚马逊/当当网站)  电子书产业可分5大环节:内容供应商.数字格式制作商.内容流通服务平台.传输平台以及终端阅读器产品. 全球电子书市场上,亚马逊占据第一位置,紧随其后的是索尼,而中国电子书领先企业汉王科技位居第三.在中国,汉王已经占据了该领域核心地位. - 硬件 + 软件 + 内容(书籍,纸质书电子书) 电子书的主要格式有PDF.TXT.EXE.CHM.UMD.PDG.JAR.PDB.BRM.EPUB.HLP.HTML.LIT.