Google Play Crawler
This repository contains the code used in the following paper:
The talk can be watched on Youtube: http://youtu.be/xS0lyL_0OAM
The slides are available here: http://viennot.com/playdrone-slides.pdf
The paper can be downloaded here: http://viennot.com/playdrone.pdf
archive.org has deployed PlayDrone to capture a few days worth of data.
Instructions on how to get this dataset can be found on https://archive.org/details/android_apps.
The code is research quality code. It's poorly documented, and have no test suite.
I strongly discourage you to run the code and encourage you to use it only as a reference, but if you must, here are the basic steps to process an app in dev mode:
Make sure you have Ruby and Java installed
Make sure you have Elasticsearch and Redis running
Add a google account with
Account.create(:email => 'email', :password => 'password', :android_id => 'id'). An android id can be generated with Android Checkin.
Account.first_usableshould not block, but return something.
Stack.process_app(:app_id => 'com.facebook.katana').
You should see the facebook app repo in the
If you want to go in production and launch the crawler, you can use the PlayDrone Kitchen.
Follow the instructions, edit
If everything works out (good luck), you'll be able to kick of jobs from a rails console. Try
Stack.process_app(:app_id => 'com.facebook.katana'), and PlayDrone should discover at least half of the market by looking at related apps. Note that to increase the throughput, you may need to add more Google accounts.
Here's what you can expect to see once everything is running in the graphite dashboard:
PlayDrone is released under the MIT license.