2

有没有办法从 Google Play/Market 只下载存储在特定应用程序中的图标,而无需下载整个 APK 并安装它?

4

5 回答 5

7

你可以这样做,但它需要下载他的页面源然后解析它。

你可以做的是首先下载网页,我喜欢JSoup。喜欢

Document d = null;
try {
    d  = Jsoup.connect("https://play.google.com/store/apps/details?id=" + packageName).get();
} catch (IOException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
}

然后您应该解析该文档以获取以下标记“”

Elements div = d.getElementsByAttributeValueContaining("class", "doc-banner-icon");
String path = div.get(0).attr("src");

此路径变量应该是要下载的图像的路径。我没有测试过这个。

于 2012-06-16T01:52:34.593 回答
4

没有

市场内容没有官方 API。无论是检索图标还是其他任何东西。

如果您只是对获取图像文件感兴趣,您可以通过 Web 前端手动将它们下载到 Market。但我不会编写代码来执行此操作,因为他们很可能会对 Web 前端进行更改,从而导致您的代码中断。ps 我不是律师,但我认为即使您确实下载了这些图像(当然未经每个开发人员的许可),您也不会被“允许”处理这些图像

于 2012-06-15T21:15:40.117 回答
2

Jug6ernaut 的答案将不再有效。这适用于 2016 年 11 月:

@WorkerThread public static String scrapeGooglePlayIcon(@NonNull String packageName) throws IOException {
  return Jsoup.connect("https://play.google.com/store/apps/details?id=" + packageName).get()
      .select("div[class=details-info] > div[class=cover-container] > img[class=cover-image]")
      .attr("abs:src");
}

我创建了一个小型库,可以通过网络抓取 Google Play 商店。如果将来停止工作,请在 GitHub 项目上发表评论或创建问题:https ://github.com/jaredrummler/GooglePlayScraper

于 2016-11-21T22:37:03.190 回答
1

您可以创建一个像http://kcy.me/hylg这样的 Yahoo Pipes ,它会为您解析页面并提取 JSON,您可以在其中读取单个图像 URL。

http://kcy.me/hylj

您可以参数化管道,以便接收到要提取图像的应用程序的链接。

于 2013-04-01T11:02:03.617 回答
0

简单的解决方案是,只需在 Chrom 浏览器中右键单击应用程序的图标并将图像另存为,这将使用 webp 扩展名保存图标,现在使用此Conver webp to png 将图标转换为 PNG。

于 2020-07-17T16:02:28.393 回答