2016-01-05 4 views
8

Я хочу загрузить много apks из игры Google на ПК и установить apk на телефоне для тестирования.Можно ли скачать apk из google play программно на ПК?

Я видел, что http://apk-dl.com/ может скачать apk для ПК, так можно ли сделать то же самое с помощью java или python или иметь примеры кода?

+0

Помог ли вам код расширения для браузера? –

+0

@Biju Parvathy ok спасибо, но я хотел бы downlond apk без браузера, просто предоставить apk url, и он автоматически отключит его. –

+0

См. Мой ответ, он отличается от расширения браузера. –

ответ

4

Использование 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 
+0

@ Записан в config.py есть AUTH_TOKEN = Нет, как получить значение AUTH_TOKEN? –

+0

Создайте один из [ЗДЕСЬ] (https://developers.google.com/android-publisher/authorization?hl=ru) –

0

Если вы более простой загрузчик APK, расширение Chrome, вероятно, не обязательно необходимо. Вместо этого вы можете просто посетить выделенный сайт для создания ссылок на скачивание APK всякий раз, когда вам нужно.

Перейдите в Play Маркет и найдите приложение, которое хотите загрузить. Скопируйте URL-адрес приложения из адресной строки браузера. Затем перейдите на сайт, например, Apk16 APK Downloader (у Apk16 также есть расширение Chrome/Firefox) и вставьте имя пакета приложения (или весь URL-адрес Google Play, если вы ленивы) в поле вверху страницы.

4

Вы также можете скрасить http://apk-dl.com, чтобы получить ссылку для скачивания apk, шаги включают сначала перейти на http://apk-dl.com/{packageName} и извлечь значение ссылки в две последовательные страницы.

Баш пример, который использует curl для загрузки и pup для разбора HTML будет:

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

очень хорошо! но третья страница защищена captcha now – VinceFR

+0

, это полезно, но я думаю, что его цель - написать собственный код без стороннего пакета. – trungducng

+0

@VinceFR Вы знаете какой-либо другой способ? –

0

Я нашел соответствующий пакет, написанный на узле js here

Смежные вопросы