Git Product home page Git Product logo

googleplaycrawler's Introduction

GooglePlayCrawler

A python script to batch download mobile apps from Google Play Store. It supports batch downloading by collection/categorie (default to Top Free 120) as well as recording the information (such as downloads/version/size/ratings/supported Android version etc.) of downloaded APKs in a csv files.

Getting Started

Prerequisites

This project depends on a couple of unofficial Google Play APIs, and here is their installation instruction:

npm install google-play-scraper
"download the repo using the link above"
cd {download folder}
npm install
  • gplaycli : Google Play Downloader via Command line
pip3 install gplaycli

Setup

Please make sure the config file for gplaycli is set correctly, and other prerequisites are working properly.

Change the GSCRAPPER_DIR in gpcconstants.py file to the folder where google-play-api is installed.

Google constantly checks the accounts activity and blocks the api access. To avoid the authentication error, it is recommended to set up two factor login and an app password, then use the app password to login.

Usage

python GooglePlayCrawler.py -d DIR (-a [ALL] -c [COLLECTION] -g [CATEGORY] -n [NUMBER] -s [START])

Available Options

  -h, --help            show this help message and exit
  -d DIR, --dir DIR     The folder to store the downloaded APKs (required)
  -f [FORCE_OVERWRITE], --force_overwrite [FORCE_OVERWRITE]
                        Option to overwrite the existing APKs in the
                        directiory (default: diabled)
  -a [ALL], --all [ALL]
                        Set this option to True will download all categories
                        (default: False)
  -c [COLLECTION], --collection [COLLECTION]
                        The collection to download from
                        {TOP_FREE,NEW_FREE,GROSSING,TRENDING} (default:
                        TOP_FREE)
  -g [CATEGORY], --category [CATEGORY]
                        The category to download (default: NONE; Available
                        options can be found in documentation).
  -n [NUMBER], --number [NUMBER]
                        The number of apps to download (default: 120; Max:
                        120).
  -s [START], --start [START]
                        The starting index of the retrieved list (default: 0;
                        Max: 500)
  -dc [DEVICE_CODE], --device_code [DEVICE_CODE]
                        The target device of the download apps (default:
                        hammerhead)

Example Usages

Check the available options:

python GooglePlayCrawler.py -h

Download the top 100 free apps from Google Play:

python GooglePlayCrawler.py -d DIR -n 100

Download the top 100 free apps from ANDROID_WEAR category (overwriting the existing APKs):

python GooglePlayCrawler.py -d DIR -g ANDROID_WEAR -n 100 -f

Download the top 50th to 100th new apps from SOCIAL category for Nexus5X:

python GooglePlayCrawler.py -d DIR -g SOCIAL -n 50 -s 50 - dc bullhead

Authors

  • Duling Lai - Single Contributor - DulingLai

License

This project is licensed under the MIT License - see the LICENSE.md file for details

googleplaycrawler's People

Contributors

dulinglai avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.