看板 java 關於我們 聯絡資訊
各位前輩 我最近在寫一個網站,大致的功能如下: client送query到server server再透過JAVA到其它網站抓取網頁的文字回來處理 抓取的網頁有上千或上萬個 經過一些處理之後,再將處理結果回傳給client 但應該是一個個抓取成千上萬個網頁的關係 從query到結果回傳的時間要數十分鐘 我有將抓過的網頁處理結果存放到DB裡面 所以下次的query可增加速度 想請教兩方面的問題 一、透過JAVA抓取網頁的速度有辦法加快嗎?我是抓網頁的程式碼如下: URL urlObj = new URL(url); Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(ntutProxy , proxyPort)); URLConnection conn = urlObj.openConnection(proxy); DataInputStream dis = new DataInputStream(conn.getInputStream()); BufferedOutputStream bos ; bos = new BufferedOutputStream(new FileOutputStream(file_name)); 二、想利用client多下一些query,把DB多塞一些東西,好增加往後的速度 但起初連線一段時間後,會出現Timeout的訊息,於是我把tomcat的Timeout設定拉長 client端也不透過proxy連線到server(proxy有timeout時間) 如此,還有什麼地方要注意,可以讓瀏覽器開啟網頁可以久一點的嗎 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.144.102
ogamenewbie:1.一個一個連還是一次全連? 03/09 11:46
ogamenewbie:2.哪邊 timeout? 03/09 11:46
conan99:一個一個連,就是一個頁抓完並處理完後,再進行下一個網頁 03/09 12:08
conan99:是client端的瀏覽器出現timeout訊息 03/09 12:11
ogamenewbie:1.那就開 thread 一次多連 2.那就加js自動refresh 03/09 13:41
TonyQ:client 出現timeout 那也是 server 設定的 connectionTimeou 03/09 14:10