[問題] 如何做一個JAVA網站下載工具?

看板java作者 (十三夜)時間12年前 (2012/05/30 18:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
如題 最近剛開始碰JAVA一個禮拜 想做一個網站下載工具, 把整個網站下載存在local host 相關的問題找蠻多 都只找到單一網頁下載的範例 還蠻多都不完整的 還是說我該去買書了呢... 為了不像作業文 補上一些我的程式碼做法 目前看來我需要的功能是 1.下載單一網頁內容 (已完成) //@param urlPath 網址 //@param savePath 儲存路徑 //@param fileName 檔名 //@return message public String loadURLFile(String urlPath,String savePath,String fileName){ String msg = ""; try{ URL zeroFile=new URL(urlPath); String name=zeroFile.getFile(); System.out.println("檔案:"+name); name.length());//取得副檔名 String tmpName = ".html"; msg = fileName+tmpName;//新取的檔名 + 副檔名 BufferedInputStream bs=new BufferedInputStream(zeroFile.openStream()); byte[] b=new byte[1024];//一次取得 1024 個 bytes FileOutputStream fs=new FileOutputStream(savePath + "/" + msg); int len; while((len=bs.read(b,0,b.length))!=-1){ fs.write(b,0,len); } bs.close(); fs.close(); }catch(IOException e){ e.printStackTrace(); System.out.println("讀取檔案寫入時發生錯誤"); msg = "error"; } return msg; } 2.下載CSS (已完成) //@param s 網址 //@return CSS內容 public List<String> getCSS(final String s) { String regex; final List<String> list = new ArrayList<String>(); regex = "<style.*?</style>"; final Pattern pa = Pattern.compile(regex, Pattern.DOTALL); final Matcher ma = pa.matcher(s); while (ma.find()) { list.add(ma.group()); } return list; } 3.下載JAVASCRIPT (實驗中) 4.本站連結判斷, 下載後連結替換成local link, 外部連結則不抓取(這個看起來還能做) 5.根據網頁上的連結, 根據自定深入程度不同抓取連結做下載 (這部分要多工下載 會是個瓶頸) 如題, 目前發現自己做, 有遇到一些小問題 想問問是否有大大可以提供相關範例當參考或是關鍵字供搜尋 之前一年半 學的大多是偏網頁方面的程式語言 ASP, ASP.NET C#, PHP, 這次在跨過來學JAVA 請大家多多指教 -- Key君:「哈哈哈哈哈哈,我就是後宮之王——杉崎鍵! 我是為了野心不惜傷害重要的人, 但同時為了讓她幸福也不怕萬苦的男人!」 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.89.121.16 ※ 編輯: lance70176 來自: 202.89.121.16 (05/30 19:07)
文章代碼(AID): #1FnVnWJr (java)
文章代碼(AID): #1FnVnWJr (java)