2012-08-01 3 views
0

자바를 사용하여 웹 페이지에서 HTML 청크를 얻습니다. 지금은 전체 페이지를로드하고 내가 원하는 것보다 조금 더 오래 걸리는 getInputStream()과 함께 URLConnection을 사용하고 있습니다. 거기에 어쨌든 내가 필요로하는 덩어리를 적재하거나 이미지를 속도를 낼 수있는 다른 것을 제외시키는 것입니까? 어떤 도움을 주셔서 감사합니다. 고맙습니다. 나는 당신이 그 동안 루프에서 실제 데이터를 찾아보십시오, 당신이 그것을 발견 즉시 중단 할 수 있다고 생각HTML 추출 속도 향상

URL page = new URL("http://www.stackoverflow.com"); 
URLConnection connection = page.openConnection(); 
String html = getResponseData(connection); 


public static String getResponseData(URLConncetion connection) { 
StringBuffer sb = new StringBuffer(); 
InputStream is = connection.getInputStream(); 
int count; 
while((count=is.read()) != -1){ 
    sb.append((char)count); 
} 
+0

일부 샘플 코드가 있습니까? – MadProgrammer

답변

1

: 여기

몇 가지 코드입니다.

사이드 노트에서 코드는 HTML 만로드합니다. 실제 이미지가 아닙니다. 그들은 페이지를 요청할 때 얻는 응답의 일부가 아닙니다.

업데이트 : 입력 스트림을 버퍼링 할 수도 있습니다. 입력이 빨라질 수 있습니다. 다음과 같이이 작업을 수행 할 수 있습니다.

InputStream is = new BufferedInputStream(connection.getInputStream()); 
+0

비록 실제로 느린 부분은 getInputStream()입니다. – user1423793

+0

@ user1423793 우연히 어떻게 알 수 없습니까? 해당 입력 스트림을 bufferedInputStream에 래핑 해보십시오. IO로 작업 할 때 버퍼링이 더 좋습니다. –

+0

미안하지만 나는 이것에 대해 새로운 것을 알고 있습니다. 이 일을 어떻게 하죠? – user1423793