2012-11-16 4 views
1

Android Query이라는 타사 라이브러리를 사용하고 있습니다. 나는 웹 페이지를 다운로드하기 위해 그것을 사용한다, 그리고 나는 내가 원하는 비트를 위해 html을 파싱한다. 이 비트는 대부분 페이지의 작은 부분에 있으므로 나머지는 무시됩니다.전체 페이지를 다운로드하는 대신 그물에서 웹 페이지의 일부만 가져 오는 방법은 무엇입니까?

각 페이지는 약 100kb이고 느린 연결에서 특히 맛이 나는 200-300 페이지를 가져옵니다.

특정 div를 가져올 수있는 방법이나 라이브러리가 있습니까?

내가 가져 오는 페이지는 Google Play 시장에서 가져온 페이지입니다.

예제 코드 내가

String url = "https://play.google.com/store/apps/details?id=com.touchtype.swiftkey"; 

aq.ajax(url, String.class, new AjaxCallback<String>() { 

     @Override 
     public void callback(String url, String html, AjaxStatus status) { 
       parseHtml(html); 
     } 

}); 

편집을 사용하고 있습니다 : 그것은 가능하지 않은 경우, 구글의 경량 버전은 I가 액세스 할 수있는 페이지를 재생 및 다운로드가?

+1

http://stackoverflow.com/q/7556286/1626878 –

답변

0

여기에 다른 대답을 보면 : Is there a way to download partial part of a webpage, rather than the whole HTML body, programmatically?

이 그것을 할 수있는 방법이 있습니다,하지만 당신은 바이트 범위를 알아야 할 것처럼 보인다. Google이 페이지의 다른 부분을 변경하면 내용이 쉽게 변경 될 수 있으므로 오류가 발생하기 쉽습니다.

앱과 Google Play 사이에 앉아서 쿼리 한 데이터를 반환하도록 자신 만의 웹 서버를 설정할 수 있습니다.

이 이것에 대해 해커 뉴스 스레드 : https://news.ycombinator.com/item?id=4634259

은 분명히 애플이 JSON API를 가지고,하지만 구글은하지 않습니다.

당신은 당신이 필요로하는 데이터 만 반환 할 수를 : 여기에

당신이 작업을 쉽게하기 위해 사용할 수있는 두 개의 서버 측 라이브러리입니다 귀하의 웹 애플 리케이션에서 가능한 한 슬림하게. 또한 모든 요청에 ​​대해 Google을 치지 않아도되도록 서버에 캐시 할 수 있습니다. 왕복을 최소화하기 위해 한 번의 요청으로 여러 앱 ID를 보냅니다.

관련 문제