package com.cjj.cartoon.dao;
import java.util.ArrayList;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import android.text.TextUtils;
import android.util.Log;
import com.cjj.cartoon.constants.Constant;
import com.cjj.cartoon.model.HeadViewDataModel;
import com.cjj.cartoon.model.ImageAndTitle;
import com.cjj.volley.utils.LogUtil;
public class YinhunDao {
/** 私有类对象 */
private static YinhunDao instance;
/** 单例模式 */
public static YinhunDao getInstance() {
if (instance == null) {
instance = new YinhunDao();
}
return instance;
}
/**
* 获取银魂所有列表数据
* @param URL
* @return
* @throws Exception
*/
public ArrayList<ImageAndTitle> getComicListData(String URL)throws Exception
{
int i = 0;
ArrayList<ImageAndTitle> list_data = new ArrayList<ImageAndTitle>();
Document doc = Jsoup.connect(URL).timeout(10*1000).get();
Elements elements = doc.select("div.col-xs-6");
for(Element element:elements)
{
i++;
Document eleDoc = Jsoup.parseBodyFragment(element.html());
if(i<=elements.size()-2)
{
LogUtil.LogMsg_I("i="+i);
String link = eleDoc.select("a[href]").first().attr("href");
String imageUrl = eleDoc.select("img[src]").first().attr("src");
String title = eleDoc.select("a[title]").first().attr("title");
if(!TextUtils.isEmpty(link)&&!TextUtils.isEmpty(imageUrl)&&!TextUtils.isEmpty(title))
{
ImageAndTitle model = new ImageAndTitle();
model.link = link;
model.imageUrl = imageUrl;
model.title = title;
list_data.add(model);
LogUtil.LogMsg_I(link+"");
LogUtil.LogMsg_I(imageUrl+"");
LogUtil.LogMsg_I(title+"");
LogUtil.LogMsg_I(list_data.size()+"");
}
}else{
return list_data;
}
}
return list_data;
}
/**
* 获得图片资源
* @param url
* @return
* @throws Exception
*/
public ArrayList<String> getDetailComicImage(String url)throws Exception
{
ArrayList<String> allImages = new ArrayList<String>();
Document doc = Jsoup.connect(url).timeout(10 * 1000).get();
Elements elements = doc.getElementsByClass("article-content");
for (Element element : elements) {
Elements es = element.getElementsByTag("img");
for (Element e : es) {
String a = e.attr("src");
if (a != null && a.length() > 0) {
allImages.add(a);
}
}
}
return allImages;
}
/**
* 获取头部信息
* @return
*/
public ArrayList<HeadViewDataModel> getHeadViewDataFromNet()
throws Exception {
ArrayList<HeadViewDataModel> list_models = new ArrayList<HeadViewDataModel>();
Document doc = Jsoup.connect(Constant.HEADVIEW_URL).timeout(10 * 1000)
.get();
Elements elements = doc.select("div#slide");
for (Element element : elements) {
Document eleDoc = Jsoup.parseBodyFragment(element.html());
for (int i = 1; i <= 5; i++) {
HeadViewDataModel model = new HeadViewDataModel();
Elements elements2 = eleDoc.select("div#slide" + i);
for (Element element2 : elements2) {
String temUrl = element2.attr("style");
model.url = temUrl.substring(21, temUrl.length()-2);
Log.i("cjj", "cext jj t>>>>>>>>>3" +model.url );
for (Element element3 : element2.select("a[title]")) {
model.link = element3.attr("href");
model.title = element3.attr("title")
.replace("<br>", "").trim();
Log.i("cjj",
"cext jj t>>>>>>>>>4"
+ element3.attr("title")
.replace("<br>", "\n").trim());
Log.i("cjj",
"cext jj t>>>>>>>>>5" + element3.attr("href"));
}
}
list_models.add(model);
}
}
return list_models;
}
}