功能分类:娱乐
支持平台:Android
运行环境:Android
开发语言:Java
开发工具:Eclipse
源码大小:15.49MB
源码简介
这是一款通过jsoup解析Html获取内容的网络阅读器,大学时期闲暇完成,对照CSDN的Web页面元素设计进行解析提取内容,核心功能就是使用jsoup解析。以下是相关截图。
[注:程序中有少许bug]
源码运行截图
源码片段
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; }
} </itblog></itblog></itblog></itblog>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
源码下载地址:http://down.51cto.com/data/1963020