簡體   English   中英

是否有可能以編程方式將谷歌從谷歌下載到PC?

[英]Is it possible to download apk from google play programmatically to PC?

我想從谷歌播放下載很多apks到PC並在手機上安裝apk進行測試。

我已經看到http://apk-dl​​.com/可以下載一個apk到PC,所以有可能通過使用java或python做一些相同的事情或有一些代碼示例?

使用Google Play非官方Python API (github)

使用此API,您可以使用其包名稱下載APK:

python download.py com.google.android.gm

要查找相關的APK,您可以使用搜索甚至解析子類別

python search.py earth
python list.py WEATHER apps_topselling_free

你也可以廢棄http://apk-dl​​.com獲取apk下載鏈接,步驟包括首先訪問http://apk-dl.com/{packageName}並連續2頁提取鏈接值。

使用curl下載和pup來解析HTML的bash示例將是:

#!/bin/bash

package=com.facebook.katana

# Download APK 
temp_link=$(curl -s "http://apk-dl.com/$package" | pup ".download-btn .mdl-button attr{href}")
temp2_link=$(curl -s "http://apk-dl.com/$temp_link" | pup ".detail a attr{href}")
dl_link=$(curl -s "$temp2_link" | pup ".contents a attr{href}")

rm -f app.apk
curl -s -o app.apk "http:$dl_link"

在Java中,以下方法返回apk下載URL:

public static String getApkDownloadUrl(final String packageName) throws IOException {

    Elements data = Jsoup.connect("http://apk-dl.com/" + packageName).get().select(".download-btn .mdl-button");

    if (data.size() > 0) {

        Elements data2 = Jsoup.connect("http://apk-dl.com" + data.attr("href")).get()
                .select(".detail a");

        if (data2.size() > 0) {

            Elements data3 = Jsoup.connect(data2.attr("href")).get()
                    .select(".contents a");

            return (data3.size() > 0) ? "http:" + data3.attr("href") : "";
        }
    }
    return "";
}

在Python中:

import urllib2
from bs4 import BeautifulSoup
import re

def get_apk_url(package_name): 
    opener = urllib2.build_opener()

    response = opener.open('http://apk-dl.com/' + package_name)
    soup = BeautifulSoup(response.read(), 'html.parser')
    temp_link = soup.find("div",{'class': 'download-btn'}).find("a")["href"]

    response = opener.open('http://apk-dl.com/' + temp_link)
    soup = BeautifulSoup(response.read(), 'html.parser')
    temp_link2 = soup.find("section",{'class': 'detail'}).find("a")["href"]

    response = opener.open(temp_link2)
    soup = BeautifulSoup(response.read(), 'html.parser')
    temp_link3 = soup.find("div",{'class': 'contents'}).find("a")["href"]

    return "http:" + temp_link3

print(get_apk_url('com.facebook.katana'))

在Java中試用: Google Play Downloader

如果你是一個更隨意的APK下載程序,那么Chrome擴展程序可能不是真的必要。 相反,您可以隨時訪問專用網站以生成APK下載鏈接。

轉到Play商店,找到您要下載的應用。 從瀏覽器的地址欄復制應用程序的URL地址。 接下來,轉到Apk16 APK Downloader (Apk16也有Chrome / Firefox擴展程序)這樣的網站,並在頁面頂部的框中粘貼應用程序包名稱(或者如果你懶的話,粘貼整個Google Play URL)。

當Google要求在瀏覽器中驗證操作時,包含API交互的項目要么已過時,要么失敗。 我發現在UiAutomator中編寫腳本很方便。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM