2012-05-18 4 views
0

새로운 Google Play 시장에서 페이지를 다운로드하려고하는데 이상한 결과가 나타나는 것 같습니다.Google Play 홈페이지 다운로드

private static String downloadString(final URL url) throws IOException { 
    final HttpsURLConnection conn = (HttpsURLConnection) url 
      .openConnection(); 
    conn.setHostnameVerifier(new HostnameVerifier() { 

     @Override 
     public boolean verify(final String hostname, 
       final SSLSession session) { 
      return true; 
     } 
    }); 
    conn.setReadTimeout(10000); 

    String html; 

    try { 
     final InputStream is = conn.getInputStream(); 
     final BufferedInputStream bis = new BufferedInputStream(is); 
     final ByteArrayBuffer baf = new ByteArrayBuffer(50); 

     int current = 0; 
     while ((current = bis.read()) != -1) { 
      baf.append((byte) current); 
     } 

     /* Convert the Bytes read to a String. */ 
     html = new String(baf.toByteArray()); 

    } finally { 
     conn.disconnect(); 
    } 

    return html; 
} 

결과는 설명, 변경 기록하거나 중요한 모든 것을 포함 doen't,하지만 내 HTML 지식이 정확히 다운로드 beeing는 무엇인지 이해하기 충분하지 않습니다 : 나는 URL https://play.google.com/store/apps/details?id=package.name 다음과 같은 방법을 사용합니다. 내가 관심있는 사람을 위해 다운로드 한 소스 코드 here을 넣었습니다. 원하는 Google Play 앱 페이지 크기의 10 배입니다.

제 질문은 원래 앱 페이지의 소스를 얻는 방법입니다.

답변

1

귀하의 방법에서 얻은 것이 맞을 수도 있습니다. Google은 성능을 향상시키기 위해 자바 스크립트를 사용하여 리소스를로드하는 것을 좋아합니다. 자바 스크립트는 모두 컴파일되어 모든 지옥처럼 읽을 수 없습니다.

페이지를 다운로드 할 때 매우 적은 양의 HTML이 표시되고 변경 로그 등이 없다고 언급 했습니까? 그것은 클라이언트 측 런타임, 가장 가능성이 자바 스크립트의 일종을 사용하여로드되는 것을 의미합니다.

다운로드하려면 브라우저 또는 라이브러리 테이크가 필요합니다. Javascript, CSS 및 HTML 레이아웃을 실행할 수 있습니다.

아마도 잠비 (Jambi)와 같은 라이브러리를 확인할까요? QT에는 Webkit을 사용하는 QWebView Component가 있지만 Javascript가 실행되는지는 알 수 없습니다.

적어도 올바른 방향으로 당신을 가리 키길 바랍니다.

+0

빠른 답변과 "오 마이 갓, 왜?"에 감사드립니다. 이것은 안드로이드 마켓에서 훨씬 더 간단했습니다. –

+0

google.com 읽기를 시도하면 파괴 될 것입니다. : D –

0

예 : 브라우저의 Firebug 플러그인 또는 페이지에 액세스하는 동안 HTTP 트래픽을 모니터링 할 수있는 다른 도구가 있어야합니다. 그런 다음 실제 데이터를로드하는 호출이 무엇인지 확인할 수 있습니다. 아마 대신 그 URL을 잡을 수 있습니다.