2011-08-18 92 views
0

我試圖獲取HTML內容,除了1件事以外,所有的工作都可以找到。它不下載整個代碼並跳過我想要提取的內容(對圖像,名稱進行url搜索),並且只是空白課程'obrazek'。源代碼html沒有完整下載

這是我用來獲取源代碼的代碼:

 String SourceCode(String adres) throws IllegalStateException, IOException 
{ 

    HttpClient httpClient = new DefaultHttpClient(); 
    HttpContext localContext = new BasicHttpContext(); 
    HttpGet httpGet = new HttpGet(adres); 
    HttpResponse response = null; 
    try { 
     response = httpClient.execute(httpGet, localContext); 
    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    BufferedReader reader = new BufferedReader(
      new InputStreamReader(response.getEntity().getContent() 
        ) 
      ); 
    String result = ""; 
    while(reader.readLine() != null) 
    { 
     result += reader.readLine(); 
    } 
    reader.close(); 
    return result; 

感謝您的幫助:)

+0

如果可能的話,看看Apache Commons或一些HTML解析器將InputStream轉換爲String(我不知道是否適用於Android)。比使用BufferedReader快得多。我做了一個webcrawler,使用BufferedReader太慢了。 –

回答

3

您跳過每次一行。應該

StringBuilder result = new StringBuilder(); 
String line; 
while((line = reader.readLine()) != null) 
{ 
    result.append(line); 
} 
reader.close(); 
return result.toString(); 

順便說一句 - 我以前StringBuilder,以避免新的String對象的創建每個迭代 - 很推薦。

+0

謝謝!完美的作品:)我沒有注意到這個錯誤;/ – arathunku

+0

@arathunku - 你歡迎:) – MByD