@Override public void parseComicURL() { // parse URL and save all URLs in comicURL // // 先取得前面的下載伺服器網址 String allPageString = Common.getFileString(SetUp.getTempDirectory(), indexName); Common.debugPrint("開始解析這一集有幾頁 : "); int beginIndex = allPageString.indexOf("name=\"selectb\""); beginIndex = allPageString.indexOf(">", beginIndex) + 1; int endIndex = allPageString.indexOf("</select>", beginIndex); String tempString = allPageString.substring(beginIndex, endIndex); totalPage = tempString.split("<option").length - 1; Common.debugPrintln("共 " + totalPage + " 頁"); comicURL = new String[totalPage]; String[] comicPageURL = new String[totalPage]; beginIndex = endIndex = 0; for (int i = 0; i < totalPage && Run.isAlive; i++) { beginIndex = allPageString.indexOf("value=", beginIndex); beginIndex = allPageString.indexOf("\"", beginIndex) + 1; endIndex = allPageString.indexOf("\"", beginIndex); comicPageURL[i] = baseURL + allPageString.substring(beginIndex, endIndex); } String picURL = ""; for (int p = 0; p < totalPage; p++) { if (!Common.existPicFile(getDownloadDirectory(), p + 1) || !Common.existPicFile(getDownloadDirectory(), p + 2)) { allPageString = getAllPageString(comicPageURL[p]); beginIndex = allPageString.indexOf("id=picwin"); beginIndex = allPageString.indexOf("src=", beginIndex); beginIndex = allPageString.indexOf("\"", beginIndex) + 1; endIndex = allPageString.indexOf("\"", beginIndex); comicURL[p] = Common.getFixedChineseURL(allPageString.substring(beginIndex, endIndex)); // Common.debugPrintln( ( p + 1 ) + " " + comicURL[p] ); // debug // 每解析一個網址就下載一張圖 singlePageDownload(getTitle(), getWholeTitle(), comicURL[p], totalPage, p + 1, 0); } } // System.exit( 0 ); // debug }
@Override public synchronized void parseComicURL() { System.out.print("parse the pic URL:"); for (int i = 0; i < totalPage && Run.isAlive; i++) { // 檢查下一張圖是否存在同個資料夾,若存在就跳下一張 if (!Common.existPicFile(getDownloadDirectory(), i + 2) || !Common.existPicFile(getDownloadDirectory(), i + 1)) { int endIndex = webSite.lastIndexOf("/"); String tempWebSite = webSite.substring(0, endIndex + 1) + (i + 1) + ".htm"; Common.downloadFile(tempWebSite, SetUp.getTempDirectory(), indexName, false, ""); Common.newEncodeFile(SetUp.getTempDirectory(), indexName, indexEncodeName, Encoding.GBK); String tempStr = Common.getFileString(SetUp.getTempDirectory(), indexEncodeName); String[] lines = tempStr.split("\n"); for (int count = 0; count < lines.length && Run.isAlive; count++) { String line = lines[count]; if (line.matches("(?s).*document.write(?s).*")) { String[] temp = line.split("'\"|\"|'|>"); System.out.println(baseURL + temp[3]); // replace %20 from white space in URL String frontURL = temp[3].replaceAll("\\s", "%20"); comicURL[i] = Common.getFixedChineseURL(baseURL + frontURL); // Common.debugPrintln( i + " " + comicURL[i] ); // debug // 每解析一個網址就下載一張圖 singlePageDownload(getTitle(), getWholeTitle(), comicURL[i], totalPage, i + 1, 0); break; } } } } // System.exit( 0 ); // debug }