有没有办法从 Google Play/Market 只下载存储在特定应用程序中的图标,而无需下载整个 APK 并安装它?
5 回答
你可以这样做,但它需要下载他的页面源然后解析它。
你可以做的是首先下载网页,我喜欢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");
此路径变量应该是要下载的图像的路径。我没有测试过这个。
没有
市场内容没有官方 API。无论是检索图标还是其他任何东西。
如果您只是对获取图像文件感兴趣,您可以通过 Web 前端手动将它们下载到 Market。但我不会编写代码来执行此操作,因为他们很可能会对 Web 前端进行更改,从而导致您的代码中断。ps 我不是律师,但我认为即使您确实下载了这些图像(当然未经每个开发人员的许可),您也不会被“允许”处理这些图像
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
您可以创建一个像http://kcy.me/hylg这样的 Yahoo Pipes ,它会为您解析页面并提取 JSON,您可以在其中读取单个图像 URL。
您可以参数化管道,以便接收到要提取图像的应用程序的链接。
简单的解决方案是,只需在 Chrom 浏览器中右键单击应用程序的图标并将图像另存为,这将使用 webp 扩展名保存图标,现在使用此Conver webp to png 将图标转换为 PNG。