package reptile.bcgm; import java.io.File; import java.util.ArrayList; import java.util.List; import utils.OfficeUtils; public class Main { private static File dirFile = new File("temp" + File.separator + "reptile"); private static File imgCsvFile = new File(dirFile, "bcgm_imgs.csv"); private static File mainCsvFile = new File(dirFile, "bcgm_main.csv"); public static void main(String[] args) throws Exception { // List<CaoMain> cms = BCGMUtils.getMainUrl(); // OfficeUtils.saveCVS(cms, mainCsvFile); List<CaoImg> caoImgs = new ArrayList<CaoImg>(); for(int i=1; i<=28; i++) { String url = BCGMUtils.IMG_URL + (i==1 ? "" : "/" + i); caoImgs.addAll(BCGMUtils.getImgData(url)); System.out.println(url + " 解析完成,当前总数为 " + caoImgs.size()); } OfficeUtils.saveCVS(caoImgs, new File( "temp" + File.separator + "reptile" + File.separator + "bcgm_imgs.csv")); try { List<CaoImg> cis = OfficeUtils.readDatasFromCSV(imgCsvFile, CaoImg.class); List<CaoMain> cms = OfficeUtils.readDatasFromCSV(mainCsvFile, CaoMain.class); List<Cao> caos = new ArrayList<Cao>(); for(CaoMain cm : cms) { Cao cao = new Cao(); cao.setType(cm.getType()); cao.setName(cm.getName()); cao.setHref(cm.getHref()); int index = cis.indexOf(cm); if(index != -1) { CaoImg ci = cis.get(index); cao.setImg(ci.getImg()); } caos.add(cao); } OfficeUtils.saveCVS(caos, new File(dirFile, "bcgm.csv")); } catch (Exception e) { e.printStackTrace(); } // final List<Cao> caos = OfficeUtils.readDatasFromCSV(new File(dirFile, "bcgm.csv"), Cao.class); // for(int i=0; i<caos.size(); i++) { // final Cao cao = caos.get(i); // threadPool.execute(new Runnable() { // @Override // public void run() { // try { // loadedCount ++; // String detail = BCGMUtils.getDetailData(cao.getName()); // if(detail != null) { // cao.setDetail(detail); // System.out.println(loadedCount + "/" + caos.size() + " 数据detail获取成功"); // } else { // System.out.println(loadedCount + "/" + caos.size() + " 数据detail获取失败"); // } // // if(loadedCount == caos.size()) { // OfficeUtils.saveCVS(caos, new File(dirFile, "bcgm_detail.csv")); // threadPool.shutdown(); // } // } catch (Exception e) { // loadedCount ++; // System.out.println(loadedCount + "/" + caos.size() + " 数据detail获取失败"); // e.printStackTrace(); // // if(loadedCount == caos.size()) { // OfficeUtils.saveCVS(caos, new File(dirFile, "bcgm_detail.csv")); // threadPool.shutdown(); // } // } // // } // }); // } // OfficeUtils.saveCVS(caos, new File(dirFile, "bcgm_detail.csv")); // // List<Cao> caos = OfficeUtils.readDatasFromCSV(new File(dirFile, "bcgm_detail.csv"), Cao.class); // System.out.println(caos); } }