package com.roboo.like.google.news.list.utils;
import java.util.LinkedList;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import com.roboo.like.google.models.NewsItem;
import com.roboo.like.google.utils.MD5Utils;
/**
* 获取EOE网站信息
* @author bo.li
*
* 2014-8-4 上午11:02:30
*
* TODO
*/
public class EOENewsListUtils extends BaseNewsListUtils
{
private static final String BASE_EOE_BLOG_URL = "http://www.eoeandroid.com/home.php";
public static LinkedList<NewsItem> getEOENewsList(String eoeUrl, int pageNo) throws Exception
{
// eoeurl = http://news.eoe.cn/news/tag/Android/pageNum/
// http://news.eoe.cn/news/tag/Android/pageNum/5.html#end_lb
LinkedList<NewsItem> data = null;
String url = eoeUrl + pageNo + ".html";
if (url.startsWith(BASE_EOE_BLOG_URL))
{
url = eoeUrl + "&mod=space&do=blog&view=all&page=" + pageNo;
}
System.out.println("url = " + url);
Document document = Jsoup.connect(url).get();
System.out.println("document = " + document);
Elements elements = document.getElementsByClass("ue-body-new-list");
System.out.println("KKK" + elements);
Element element = null;
String title = null, subTitle = null,source="EOE", md5 = null, time = null, src = null, newsUrl = null;
md5 = MD5Utils.generate(url);
time = "今天";
if (!elements.isEmpty())
{
data = new LinkedList<NewsItem>();
for (int i = 0; i < elements.size(); i++)
{
element = elements.get(i);
Elements tmpElements = element.getElementsByClass("ue-body-new-list-t");
if (!tmpElements.isEmpty())
{
tmpElements = tmpElements.get(0).getElementsByTag("a");
if (!tmpElements.isEmpty())
{
newsUrl = tmpElements.get(0).attr("href");
System.out.println(newsUrl);
}
tmpElements = tmpElements.get(0).getElementsByTag("h2");
if (!tmpElements.isEmpty())
{
title = tmpElements.get(0).text();
// System.out.println(title);
}
else
{
}
}
tmpElements = element.getElementsByClass("ue-body-new-list-desc-img");
if (!tmpElements.isEmpty())
{
tmpElements = tmpElements.get(0).getElementsByTag("img");
if (!tmpElements.isEmpty())
{
src = tmpElements.get(0).attr("src");
// String img = tmpElements.get(0).attr("src");
// System.out.println( img);
}
}
tmpElements = element.getElementsByClass("ue-body-new-list-desc-text");
if (!tmpElements.isEmpty())
{
subTitle = tmpElements.get(0).text();
// System.out.println(tmpElements.get(0).text());
}
tmpElements = element.getElementsByClass("ue-body-new-list-other-r");
if (!tmpElements.isEmpty())
{
time = tmpElements.get(0).text().trim();
// System.out.println(tmpElements.get(0).text());
time = getTime(time);
}
NewsItem item = new NewsItem();
item.setSrc(src);
item.setTime(time);
item.setMd5(md5);
item.setUrl(newsUrl);
item.setTitle(title);
item.setSource(source);
item.setSubTitle(subTitle);
data.add(item);
}
}
return data;
}
private static String getTime(String time)
{
String newTime = "今天";
if (time.contains("月") && time.contains("日") && time.contains(" "))
{
newTime = time.split(" ")[0];
}
return newTime;
}
@Override
public LinkedList<NewsItem> getNewsList(String baseUrl, int pageNo) throws Exception
{
return getEOENewsList(baseUrl, pageNo);
}
}