2016-01-05 6 views
8

Chciałbym pobrać wiele apków z Google Play na PC i zainstalować apk na telefonie do testu.Czy jest możliwe pobranie programu PC z programu Google Play programowo na komputer?

Widziałem, że http://apk-dl.com/ można pobrać apk do komputera, więc jest to możliwe, aby zrobić to samo za pomocą java lub Pythona lub masz jakieś przykłady kodu?

+0

Czy kod rozszerzenia przeglądarki jest pomocny? –

+0

@Biju Parvathy ok ok, ale chciałbym downlond apk bez przeglądarki, wystarczy podać adres URL apk, a to będzie downlod to automatycznie –

+0

Zobacz moją odpowiedź, jest inna niż rozszerzenie przeglądarki. –

Odpowiedz

4

Google Play Nieoficjalna Python API (github)

Używając tego interfejsu API można pobrać APKs wykorzystując swoją nazwę pakietu:

python download.py com.google.android.gm 

Dla znalezienia odpowiednich APKs można użyć wyszukiwania lub nawet analizować podkategorii

python search.py earth 
python list.py WEATHER apps_topselling_free 
+0

@Marged w pliku config.py jest AUTH_TOKEN = Brak, jak uzyskać wartość AUTH_TOKEN? –

+0

Utwórz jeden z [TUTAJ] (https://developers.google.com/android-publisher/authorization?hl=pl) –

0

Jeśli jesteś bardziej zwyczajnym downloaderem APK, rozszerzenie Chrome prawdopodobnie nie jest konieczne. Zamiast tego możesz po prostu odwiedzić dedykowaną witrynę, by generować linki do pobierania APK, kiedy tylko zajdzie taka potrzeba.

Przejdź do Sklepu Play i znajdź aplikację, którą chcesz pobrać. Skopiuj adres URL aplikacji z paska adresu przeglądarki. Następnie przejdź do strony takiej jak Apk16 APK Downloader (Apk16 ma również rozszerzenie Chrome/Firefox) i wklej nazwę pakietu aplikacji (lub cały URL Google Play, jeśli jesteś leniwy) w polu u góry strony.

4

Możesz także zrzucić numer http://apk-dl.com, aby uzyskać link do pobrania apk. Kroki obejmują najpierw przejście do http://apk-dl.com/{packageName} i wyodrębnienie wartości linku na 2 kolejnych stronach.

bash przykład, który używa curl pobrać i pup do analizowania HTML byłoby:

#!/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" 

W Javie, poniższa metoda zwróci apk pobierania 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 ""; 
} 

W Pythonie:

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')) 
+2

bardzo dobrze! ale trzecia strona jest chroniona captcha teraz – VinceFR

+0

to jest pomocne, ale myślę, że jego celem jest napisanie własnego kodu bez jakiejkolwiek paczki strony trzeciej. – trungducng

+0

@VinceFR Czy znasz jakiś inny sposób? –

Powiązane problemy