是否可以从Google Play获取应用程序的下载次数?

时间:2017-02-20 17:02:45

标签: php android google-play

我正在努力获取已上传到Google Play的应用程序的下载次数。

我正在搜索一个API(或类似的东西),它通过用户的身份验证来检索下载次数。我不想要第三方应用程序(如AppAnnie)。

如果它可以在PHP上,那就太好了,我发现有一个库,我认为它是我能从谷歌应用程序中获取数据的最接近的API。

Google APIs Client Library for PHP

但我找不到Google Play个应用程序的任何提及。

是否有某种方法可以获得具有验证密钥的特定应用程序的下载?

提前致谢!

6 个答案:

答案 0 :(得分:6)

这是关于元数据api。你可以在下面看看。

https://developers.google.com/android-publisher/api-ref/reviews

答案 1 :(得分:3)

使用google-play-scraper库获取以下应用信息:

示例

$app = $scraper->getApp('com.mojang.minecraftpe');

<强>结果

array (
  'id' => 'com.mojang.minecraftpe',
  'url' => 'https://play.google.com/store/apps/details?id=com.mojang.minecraftpe',
  'image' => 'https://lh3.googleusercontent.com/30koN0eGl-LHqvUZrCj9HT4qVPQdvN508p2wuhaWUnqKeCp6nrs9QW8v6IVGvGNauA=w300',
  'title' => 'Minecraft: Pocket Edition',
  'author' => 'Mojang',
  'author_link' => 'https://play.google.com/store/apps/developer?id=Mojang',
  'categories' => array (
    'Arcade',
    'Creativity',
  ),
  'price' => '$6.99',
  'screenshots' => array (
    'https://lh3.googleusercontent.com/VkLE0e0EDuRID6jdTE97cC8BomcDReJtZOem9Jlb14jw9O7ytAGvE-2pLqvoSJ7w3IdK=h310',
    'https://lh3.googleusercontent.com/28b1vxJQe916wOaSVB4CmcnDujk8M2SNaCwqtQ4cUS0wYKYn9kCYeqxX0uyI2X-nQv0=h310',
    // [...]
  ),
  'description' => 'Our latest free update includes the Nether and all its inhabitants[...]',
  'description_html' => 'Our latest free update includes the Nether and all its inhabitants[...]',
  'rating' => 4.4726405143737793,
  'votes' => 1136962,
  'last_updated' => 'October 22, 2015',
  'size' => 'Varies with device',
  'downloads' => '10,000,000 - 50,000,000',
  'version' => 'Varies with device',
  'supported_os' => 'Varies with device',
  'content_rating' => 'Everyone 10+',
  'whatsnew' => 'Build, explore and survive on the go with Minecraft: Pocket Edition[...]',
  'video_link' => 'https://www.youtube.com/embed/D2Z9oKTzzrM?ps=play&vq=large&rel=0&autohide=1&showinfo=0&autoplay=1',
  'video_image' => 'https://i.ytimg.com/vi/D2Z9oKTzzrM/hqdefault.jpg',
)

编辑:轻松获得下载次数如下:

echo $app['downloads']; // Outputs: '10,000,000 - 50,000,000'

或者如果你想要左值:

$matches = null;
$returnValue = preg_match('/.*(?= -)/', '10,000,000 - 50,000,000', $matches);
echo $matches[0]; // Outputs: '10,000,000'

或者如果你想要正确的值:

$matches = null;
$returnValue = preg_match('/(?<=- ).*/', '10,000,000 - 50,000,000', $matches);
echo $matches[0]; // Outputs: '50,000,000'

然后使用:

轻松将其转换为整数
$count = null;
$returnValue = (int)preg_replace('/,/', '', $matches[0], -1, $count);
echo $returnValue; // Outputs: 10000000 or 50000000

答案 2 :(得分:2)

  

结帐此库42 matters会提供下载次数,评分更多

答案 3 :(得分:2)

你需要Scrape它。一般来说,&amp;当然,在这种特殊情况下,当网站(此处为:Google Play)未提供API以使您(客户端)所需数据可供他访问时,网页抓取是收集所需信息的最佳方法之一

您可以在网页上看到的几乎所有信息都可以被删除。如今,随着网络抓取工具的大幅改进,您不仅可以从目标网站获取数据,而且还可以像用户一样抓取数据&#34;,&#34;通过表单&#34;将信息发布到网站, &#34;以用户身份登录&#34; &安培;已成为任何网络刮刀的常规。

那里有非常强大的刮刀,比如Scrapy(可能是最知名的,用Python编写的)几乎每种语言。 AFAIK是PHP中最好的网络抓取工具,Goutte由来自@fabpot的传奇FriendsOfPHP撰写。

从数据提取POV,Goutte支持&#34; CSS选择器&#34; &安培; XPath(因为它使用Symfony's DOM Crawler作为抓取引擎)。因此,您可以按照想要在网页的任何隐藏角落中提取每条信息的方式抓取文档!

你可以在与Goutte的拼抢中走得更远,但这只是一个很小的例子来抓住&#34;安装次数&#34;从一个普通的App页面开始眨眼间:

use Goutte\Client;

$Client = new Client();

/**
* @var \Symfony\Component\DomCrawler\Crawler 
*/
$Crawler = $Client->request('GET', "https://play.google.com/store/apps/details?id=com.somago.brainoperator&hl=en");

$numberOfInstalls = $Crawler->filter('div.details-section-contents div.meta-info')->eq(1)->filter('div.content')->eq(0)->text();

echo $numberOfInstalls;

只需打印Brain Operator game&#34;下载次数&#34;。

答案 4 :(得分:1)

此项目https://github.com/ArcadiaConsulting/appstorestats是Java中的API,用于从Google Play和AppStore获取统计信息

答案 5 :(得分:0)

使用AppID,您可以从GooglePlay API

获取

如果应用是您的,您可以从Google Cloud(reference

导出统计信息