Ne-Lexa/google-play-scraper

"$gplay->getListApps ()" method doesn't return the full list of apps for category

Closed this issue · 3 comments

what list does it provide?

for example:
$apps_list = $gplay->getListApps( $category = \Nelexa\GPlay\Enum\CategoryEnum::GAME_RACING(), $ageLimit = null, $limit = 100000 );

returns only 13 apps, does GAMES_RACING category has only 13 apps?
even on play market website I get more apps
https://play.google.com/store/apps/category/GAME_RACING

how I can get more apps/all apps in "Top New Free" collection?
Top New Free (https://play.google.com/store/apps/new/category/GAME_RACING)
I modified source class to use it with "Top New Free" collection, it returns more applications, but also not all from that webpage :(
this is strange.

Which country and language are used?

<?php

require __DIR__ . '/vendor/autoload.php';

$redisClient = \Symfony\Component\Cache\Adapter\RedisAdapter::createConnection('redis://localhost');
$redisCache = new \Symfony\Component\Cache\Adapter\RedisAdapter($redisClient);
$cache = new \Symfony\Component\Cache\Psr16Cache($redisCache);

$gplay = new \Nelexa\GPlay\GPlayApps();
$gplay->setCache($cache);

$appsList = $gplay->getListApps(
    $category = \Nelexa\GPlay\Enum\CategoryEnum::GAME_RACING(),
    $ageLimit = null,
    $limit = 100000
);

var_dump(count($appsList)); // int(157)

///////////////////////////////////////////////////

$gplay->setDefaultLocale('ru_RU');
$gplay->setDefaultCountry('ru');

$appsList = $gplay->getListApps(
    $category = \Nelexa\GPlay\Enum\CategoryEnum::GAME_RACING(),
    $ageLimit = null,
    $limit = 100000
);

var_dump(count($appsList)); // int(160)

///////////////////////////////////////////////////

$gplay->setDefaultLocale('ar');
$gplay->setDefaultCountry('ar');

$appsList = $gplay->getListApps(
    $category = \Nelexa\GPlay\Enum\CategoryEnum::GAME_RACING(),
    $ageLimit = null,
    $limit = 100000
);

var_dump(count($appsList)); // int(68)

$defaultLocale = 'en_US', $defaultCountry = 'us'
so the list is different for every country, wow!
thanks for so quick answer and for your great application!

I used your code(all except cache part, because it throws "Class not found" error)
and it returns me results:
on my PC(UA):
int(80)
int(82)
int(64)

on server(DE):
int(149)
int(135)
int(65)

I have also reinstalled the app with composer before running it :)