Samsung Galaxy Store analysis tools
Project description
Samsung Galaxy Store
Python module to scrape application data from the Samsung Galaxy Store.
Installation
pip install samsung-galaxy-store
Usage
Available methods:
get_categories(...)
: Retrieves the list of store games or apps categories.get_category_apps(...)
: Retrieves a list of apps for a specific category.get_app_details(...)
: Retrieves expanded metadata for a specific app using the app guid (i.e sku).get_app_reviews(...)
: Retrieves reviews for a specific app using the product id (i.e Samsung auto-generated numeric).
Get Categories
Retrieves the list of store categories. Options:
games: bool
= Get game categories,False
gets apps categories, default isTrue
.
Example
store = SamsungGalaxyStore()
categories: List[Category] = list(store.get_categories(games=True))
for category in categories:
print(category.json())
Results
{'id': 'G000046957', 'translation_id': 'MIDS_SAPPS_BUTTON_LEISURE_PUZZLES', 'name': 'Puzzle', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0134/uploadfile_20190212013457076.png', 'watch_face': False, 'content_id': '0000005171'}
{'id': 'G000046960', 'translation_id': 'MIDS_SAPPS_BUTTON_ONLINE_GAMES', 'name': 'Online Game', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0135/uploadfile_20190212013557731.png', 'watch_face': False, 'content_id': '0000005172'}
{'id': 'G000046961', 'translation_id': 'MIDS_SAPPS_BUTTON_ACTION_ADVENTURE', 'name': 'Action/Adventure', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0136/uploadfile_20190212013636628.png', 'watch_face': False, 'content_id': '0000005173'}
Get Category Apps
Retrieves a list of apps for a specific category. Options:
category: Category
= The Samsung category with the id, format is "G0000XXXXX".start: int
= The starting offset in the category list, default is 1.end: int
= The ending offset in the category list, default is 500.
Example
store = SamsungGalaxyStore()
category: Category = Category("G000060951", None, None, None, False, None)
apps: List[AppSummary] = list(store.get_category_apps(category, end=3))
for app in apps:
print(app.json())
Results
{'category_id': 'G000060951', 'category_name': 'Music', 'category_class': 'G', 'id': '000006109280', 'name': 'Tiles Hop - EDM Rush Ball & Endless Music Magic', 'icon_url': 'http://img.samsungapps.com/productNew/000006109280/IconImage_20220321044524279_NEW_WEB_ICON_135_135.png', 'currency_symbol': '$', 'price': '0.00', 'discount_price': '0.00', 'is_discount': False, 'average_rating': 3.0, 'release_date': '2022;01;13;', 'content_type': 'game', 'guid': 'com.GamesStore3D.TilesHopEndlessMusicMagic', 'version': '2.1.1', 'version_code': '1', 'size': 52878366, 'install_size': 52878366, 'restricted_age': '0', 'developer': 'Poppy Challenge Games', 'iap_support': True}
{'category_id': 'G000060951', 'category_name': 'Music', 'category_class': 'G', 'id': '000005751609', 'name': 'Tiles Hop: EDM Rush!', 'icon_url': 'http://img.samsungapps.com/productNew/000005751609/IconImage_20210625042847048_NEW_WEB_ICON_135_135.png', 'currency_symbol': '$', 'price': '0.00', 'discount_price': '0.00', 'is_discount': False, 'average_rating': 4.0, 'release_date': '2021;06;14;', 'content_type': 'game', 'guid': 'Music.tiles.hop.hot', 'version': '1.0', 'version_code': '1', 'size': 51295176, 'install_size': 51295176, 'restricted_age': '0', 'developer': 'VODOO GAMES', 'iap_support': False}
{'category_id': 'G000060951', 'category_name': 'Music', 'category_class': 'G', 'id': '000005250051', 'name': 'Drum Pad', 'icon_url': 'http://img.samsungapps.com/productNew/000005250051/IconImage_20210121025114863_NEW_WEB_ICON_135_135.png', 'currency_symbol': '$', 'price': '0.00', 'discount_price': '0.00', 'is_discount': False, 'average_rating': 4.5, 'release_date': '2020;09;24;', 'content_type': 'game', 'guid': 'cos.appofun_samfree.drumpad', 'version': 'Drum Pad Galaxy', 'version_code': '1', 'size': 21914755, 'install_size': 21914755, 'restricted_age': '4', 'developer': 'Free Beat Maker Machine', 'iap_support': False}
Get App Details
Retrieves expanded metadata for a specific app using the app guid (i.e sku). Options:
guid: str
= The Samsung guid (i.e sku) for an app. The guid is set by the developer, but a common format is "com.company.app".
Example
store = SamsungGalaxyStore()
app: App = store.get_category_apps(guid="com.playrix.homescapes.samsung")
print(app.json())
Results
{'id': '000005514733', 'name': 'Homescapes', 'icon_url': 'http://img.samsungapps.com/productNew/000005514733/IconImage_20220505092438492_NEW_WEB_ICON.png', 'currency_symbol': '$', 'price': 0.0, 'is_discount': False, 'average_rating': 4.5, 'content_type': 'A', 'guid': 'com.playrix.homescapes.samsung', 'version': '5.3.3', 'restricted_age': '4', 'iap_support': True, 'developer': {'name': 'Playrix', 'url': 'https://www.playrix.com', 'phone': '896034189', 'address': 'RED OAK NORTH, SOUTH COUNTY BUSINESS PARK', 'representative': 'Mikhail Smachev', 'contact_first_name': 'PLR Worldwide Sales Limited'}, 'description': "Welcome to Homescapes, ...", 'release_notes': "What's new:\n- Bug fixes and improvements\n\nPlease update the game to the latest version.\n\nWEDDING MAKEOVER\n• Save Emma's wedding!\n• Change the character's style!\n• Decorate the wedding venue!\n\nKNIGHT'S TALE\n• Help William join the Knight Club and decorate the yard with medieval decorations!\n• Get the Knight's Castle decoration.\n\nALSO\n• Woolly Season! Use the Golden Ticket to get a cute little lamb!\n• Help Betty improve her smart home and meet a robot butler!", 'customer_support_email': 'homescapes@playrix.com', 'deeplink': 'samsungapps://ProductDetail/com.playrix.homescapes.samsung?session_id=W_8EE1FEC49C2C61700D7D11650B83BDEC', 'update_date': '2022.05.05', 'permissions': ['storage'], 'privacy_policy_url': 'https://www.playrix.com/privacy/index.html', 'youtube_url': 'https://www.youtube.com/embed/9FlvCL8_4r8?hd=1&rel=0&autohide=1&showinfo=0&wmode=transparent'}
Get App Reviews
Retrieves reviews for a specific app using the product id (i.e Samsung auto-generated numeric). Reviews are sorted by most recent. Options:
product_id: str
= The Samsung generated numeric product id for an app.max_reviews: Optional[int]
= The max number of reviews to return,None
of0
for all reviews.
Example
store = SamsungGalaxyStore()
reviews: List[Review] = list(store.get_app_reviews(product_id="000005514733", max_reviews=3))
for review in reviews:
print(review.json())
Results
{'text': '3vj93', 'user': 'brad**', 'updated_date': '2022.05.13', 'stars': 5.0, 'developer_responded': False}
{'text': 'I LOVE THIS GAME ❤', 'user': 'ruby**', 'updated_date': '2022.05.12', 'stars': 5.0, 'developer_responded': False}
{'text': "Ex s d3 se rex wz ee's eeeed,,\nxz\nsix zzz x", 'user': 'coya**', 'updated_date': '2022.05.12', 'stars': 5.0, 'developer_responded': False}
CLI Usage
This package comes bundled with a CLI tool for exploring the Samsung Galaxy Store, succinctly named galaxy-store-cli
that can be installed via poetry install
.
usage: galaxy-store-cli [-h] {categories,apps,app,reviews} ...
Lookup Samsung Galaxy Store information.
positional arguments:
{categories,apps,app,reviews}
categories Get store category information
apps Get bestselling apps in a specific category.
app Get a specific app details using the guid (i.e sku)
reviews Get reviews for a specific app using the product id (i.e number)
options:
-h, --help show this help message and exit
Get Categories
>>> galaxy-store-cli categories --help
usage: galaxy-store-cli categories [-h] [--mode {games,apps}]
options:
-h, --help show this help message and exit
--mode {games,apps} Get games or apps categories. default=games
>>> galaxy-store-cli categories
{'id': 'G000046957', 'translation_id': 'MIDS_SAPPS_BUTTON_LEISURE_PUZZLES', 'name': 'Puzzle', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0134/uploadfile_20190212013457076.png', 'watch_face': False, 'content_id': '0000005171'}
{'id': 'G000046960', 'translation_id': 'MIDS_SAPPS_BUTTON_ONLINE_GAMES', 'name': 'Online Game', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0135/uploadfile_20190212013557731.png', 'watch_face': False, 'content_id': '0000005172'}
{'id': 'G000046961', 'translation_id': 'MIDS_SAPPS_BUTTON_ACTION_ADVENTURE', 'name': 'Action/Adventure', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0136/uploadfile_20190212013636628.png', 'watch_face': False, 'content_id': '0000005173'}
Get Category Apps
>>> galaxy-store-cli apps --help
usage: galaxy-store-cli apps [-h] [--max_apps MAX_APPS] category_id
positional arguments:
category_id Category id for which to lookup apps.
options:
-h, --help show this help message and exit
--max_apps MAX_APPS Number of apps to return. default=500
>>> galaxy-store-cli apps G000060951 --max_apps 3
{'category_id': 'G000060951', 'category_name': 'Music', 'category_class': 'G', 'id': '000006109280', 'name': 'Tiles Hop - EDM Rush Ball & Endless Music Magic', 'icon_url': 'http://img.samsungapps.com/productNew/000006109280/IconImage_20220321044524279_NEW_WEB_ICON_135_135.png', 'currency_symbol': '$', 'price': '0.00', 'discount_price': '0.00', 'is_discount': False, 'average_rating': 3.0, 'release_date': '2022;01;13;', 'content_type': 'game', 'guid': 'com.GamesStore3D.TilesHopEndlessMusicMagic', 'version': '2.1.1', 'version_code': '1', 'size': 52878366, 'install_size': 52878366, 'restricted_age': '0', 'developer': 'Poppy Challenge Games', 'iap_support': True}
{'category_id': 'G000060951', 'category_name': 'Music', 'category_class': 'G', 'id': '000005751609', 'name': 'Tiles Hop: EDM Rush!', 'icon_url': 'http://img.samsungapps.com/productNew/000005751609/IconImage_20210625042847048_NEW_WEB_ICON_135_135.png', 'currency_symbol': '$', 'price': '0.00', 'discount_price': '0.00', 'is_discount': False, 'average_rating': 4.0, 'release_date': '2021;06;14;', 'content_type': 'game', 'guid': 'Music.tiles.hop.hot', 'version': '1.0', 'version_code': '1', 'size': 51295176, 'install_size': 51295176, 'restricted_age': '0', 'developer': 'VODOO GAMES', 'iap_support': False}
{'category_id': 'G000060951', 'category_name': 'Music', 'category_class': 'G', 'id': '000005250051', 'name': 'Drum Pad', 'icon_url': 'http://img.samsungapps.com/productNew/000005250051/IconImage_20210121025114863_NEW_WEB_ICON_135_135.png', 'currency_symbol': '$', 'price': '0.00', 'discount_price': '0.00', 'is_discount': False, 'average_rating': 4.5, 'release_date': '2020;09;24;', 'content_type': 'game', 'guid': 'cos.appofun_samfree.drumpad', 'version': 'Drum Pad Galaxy', 'version_code': '1', 'size': 21914755, 'install_size': 21914755, 'restricted_age': '4', 'developer': 'Free Beat Maker Machine', 'iap_support': False}
Get App Details
>>> galaxy-store-cli app --help
usage: galaxy-store-cli app [-h] guid
positional arguments:
guid Get a specific app details using the guid (i.e sku)
options:
-h, --help show this help message and exit
>>> galaxy-store-cli app 'com.playrix.homescapes.samsung'
{'id': '000005514733', 'name': 'Homescapes', 'icon_url': 'http://img.samsungapps.com/productNew/000005514733/IconImage_20220505092438492_NEW_WEB_ICON.png', 'currency_symbol': '$', 'price': 0.0, 'is_discount': False, 'average_rating': 4.5, 'content_type': 'A', 'guid': 'com.playrix.homescapes.samsung', 'version': '5.3.3', 'restricted_age': '4', 'iap_support': True, 'developer': {'name': 'Playrix', 'url': 'https://www.playrix.com', 'phone': '896034189', 'address': 'RED OAK NORTH, SOUTH COUNTY BUSINESS PARK', 'representative': 'Mikhail Smachev', 'contact_first_name': 'PLR Worldwide Sales Limited'}, 'description': "Welcome to Homescapes, ...", 'release_notes': "What's new:\n- Bug fixes and improvements\n\nPlease update the game to the latest version.\n\nWEDDING MAKEOVER\n• Save Emma's wedding!\n• Change the character's style!\n• Decorate the wedding venue!\n\nKNIGHT'S TALE\n• Help William join the Knight Club and decorate the yard with medieval decorations!\n• Get the Knight's Castle decoration.\n\nALSO\n• Woolly Season! Use the Golden Ticket to get a cute little lamb!\n• Help Betty improve her smart home and meet a robot butler!", 'customer_support_email': 'homescapes@playrix.com', 'deeplink': 'samsungapps://ProductDetail/com.playrix.homescapes.samsung?session_id=W_8EE1FEC49C2C61700D7D11650B83BDEC', 'update_date': '2022.05.05', 'permissions': ['storage'], 'privacy_policy_url': 'https://www.playrix.com/privacy/index.html', 'youtube_url': 'https://www.youtube.com/embed/9FlvCL8_4r8?hd=1&rel=0&autohide=1&showinfo=0&wmode=transparent'}
Get App Reviews
>>> galaxy-store-cli reviews --help
usage: galaxy-store-cli reviews [-h] [--max_reviews MAX_REVIEWS] product_id
positional arguments:
product_id Get reviews for a specific app using the product id (i.e number)
options:
-h, --help show this help message and exit
--max_reviews MAX_REVIEWS
Number of reviews to return for product, ordered by most recent. Default is all reviews.
>>> galaxy-store-cli reviews 000005514733 --max_reviews 3
{'text': '3vj93', 'user': 'brad**', 'updated_date': '2022.05.13', 'stars': 5.0, 'developer_responded': False}
{'text': 'I LOVE THIS GAME ❤', 'user': 'ruby**', 'updated_date': '2022.05.12', 'stars': 5.0, 'developer_responded': False}
{'text': "Ex s d3 se rex wz ee's eeeed,,\nxz\nsix zzz x", 'user': 'coya**', 'updated_date': '2022.05.12', 'stars': 5.0, 'developer_responded': False}
Docker
Containers are automatically built off of the main branch and can be downloaded from: https://hub.docker.com/repository/docker/minormending/samsung-galaxy-store
Alternatively, you can build your own containers:
>>> docker build -t galaxy-store .
>>> docker run galaxy-store categories --mode=games
{'id': 'G000046957', 'translation_id': 'MIDS_SAPPS_BUTTON_LEISURE_PUZZLES', 'name': 'Puzzle', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0134/uploadfile_20190212013457076.png', 'watch_face': False, 'content_id': '0000005171'}
{'id': 'G000046960', 'translation_id': 'MIDS_SAPPS_BUTTON_ONLINE_GAMES', 'name': 'Online Game', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0135/uploadfile_20190212013557731.png', 'watch_face': False, 'content_id': '0000005172'}
{'id': 'G000046961', 'translation_id': 'MIDS_SAPPS_BUTTON_ACTION_ADVENTURE', 'name': 'Action/Adventure', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0136/uploadfile_20190212013636628.png', 'watch_face': False, 'content_id': '0000005173'}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file samsung-galaxy-store-0.1.10.tar.gz
.
File metadata
- Download URL: samsung-galaxy-store-0.1.10.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52583dcaa0d975bdf8998b72c0527d6a4823cb2e7262b17ab903b6c49ad2f0b3 |
|
MD5 | be22080edb569ee457c0eb29b904bbc8 |
|
BLAKE2b-256 | 2b20ff4867b2cf4fe3de45f1612645ff8d9fd940671567454f88e3c6aed21e2a |
File details
Details for the file samsung_galaxy_store-0.1.10-py3-none-any.whl
.
File metadata
- Download URL: samsung_galaxy_store-0.1.10-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b51dd1ea010317d6f04e50d2b77f29a31f87b0ddb70be8e3d7ca6673e6128b6 |
|
MD5 | 8485285c5052cc5168b599fc1921f24c |
|
BLAKE2b-256 | 9816494a37fb81edbd69130ac8b3685ddb58edc5a6c97ee650fb6fdcfcbd30e2 |