2011-07-06 31 views
3

我想獲得網站Examp的所有頁面內容:http://academic.research.microsoft.com/Author/1789765/hoang-kiem?query=hoang%20kiem我如何獲取所有頁面內容?

我用這個代碼:

String getResults(URL source) throws IOException { 

     InputStream in = source.openStream(); 
     StringBuffer sb = new StringBuffer(); 
     byte[] buffer = new byte[256]; 
     while(true) { 
      int bytesRead = in.read(buffer); 
      if(bytesRead == -1) break; 
      for (int i=0; i<bytesRead; i++) 
       sb.append((char)buffer[i]); 
     } 
     return sb.toString(); 
    } 

但結果丟失了一些信息,例如關於作者的一些提示,如下圖所示Image

你能給我一些建議!謝謝

回答

5

作者的詳細信息由ajax調用加載(點擊螢火蟲中的「Net」標籤並重新加載頁面)。如果你想得到這些細節,你將不得不在一個將執行javascript的環境(即:瀏覽器)中加載頁面。

+0

謝謝,我如何獲得該內容? – tiendv

+0

Selenium是一個ui測試框架,也可以用於webscraping:http://seleniumhq.org/ –

1

我很確定這些內容是按照JavaScript加載到頁面中的,當從Java中檢索頁面文本時,沒有什麼可以做的。你可能會想要得到一個瀏覽器插件(Firefox有最大的插件庫)。

+0

我如何獲取該內容?謝謝 – tiendv