2

目前我正在使用一个名为Android Query的第三方库。我用它来下载网页,然后解析 html 以获得我想要的位。这些位主要位于页面的一小部分,因此其余部分被丢弃。

每页大约 100kb,我正在获取 200-300 页,尤其是在连接速度较慢的情况下。

是否有任何方法或库可以让我获取某个 div?

我正在获取的页面来自谷歌游戏市场。

我正在使用的示例代码

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 正文?

看起来有办法做到这一点,但你需要知道字节范围。这将非常容易出错,因为如果谷歌更改页面的不同部分,内容可能会随着时间的推移而轻松更改。

您可以设置您自己的网络服务器,放在您的应用程序和 google play 之间,并返回您查询的数据。

有一个关于此的黑客新闻线程: https ://news.ycombinator.com/item?id=4634259

显然 Apple 有 JSON API,但 Google 没有。

这里有两个服务器端库可以用来简化任务:

您可以仅从 Web 应用程序返回您需要的数据,使其尽可能精简。您还可以将其缓存在您的服务器上,这样您就不必为每个请求都打谷歌。在一个请求中发送多个应用程序 ID,以最大程度地减少往返行程。

于 2012-12-28T05:47:01.637 回答