2

現時点では、Android Queryというサードパーティ ライブラリを使用しています。それを使用して Web ページをダウンロードし、必要なビットの 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);
        }

});

編集: それが不可能な場合、アクセスしてダウンロードできる Google Play ページの軽量バージョンはありますか?

4

1 に答える 1

0

ここで他の回答を見てください: HTML本体全体ではなく、プログラムでWebページの一部をダウンロードする方法はありますか?

それを行う方法があるように見えますが、バイト範囲を知る必要があります。Google がページのさまざまな部分を変更すると、時間の経過とともにコンテンツが簡単に変更される可能性があるため、これは非常にエラーが発生しやすくなります。

独自の Web サーバーをセットアップして、アプリと Google Play の間に配置し、クエリしたデータを返すことができます。

これに関するハッカー ニュースのスレッドがあります: https://news.ycombinator.com/item?id=4634259

どうやら Apple には JSON API がありますが、Google にはありません。

タスクを簡単にするために使用できる 2 つのサーバー側ライブラリを次に示します。

Web アプリから必要なデータのみを返すことができ、可能な限りスリムにすることができます。また、リクエストごとに Google にアクセスする必要がないように、サーバーにキャッシュすることもできます。往復を最小限に抑えるために、1 つの要求で複数のアプリ ID を送信します。

于 2012-12-28T05:47:01.637 に答える