App store reviews reader
To fetch app store reviews from publicly available RSS feeds.
App store provide RSS feed as follows -
https://itunes.apple.com/{country}/rss/customerreviews/id={app_id}/xml
It provides feed in xml and json format but xml feed have more information like review_id and vote_count etc. Hence xml feed is used along with feedparser to parse feed.
Installation
Install via PyPi:
pip install app-store-reviews-reader
Install from master branch (if you want to try the latest features):
git clone https://github.com/lalitpagaria/app_store_reviews_reader
cd app_store_reviews_reader
pip install --editable .
How to use
AppStoreReviewsReader require two parameters app_id and country. app_id can be found at the end of the url of app in app store. For example -
https://apps.apple.com/us/app/xcode/id497799835
310633997 is the app_id for xcode and us is country.
Now you can run the following example -
import pprint
from datetime import datetime, timedelta
import pytz as pytz
from app_store.app_store_reviews_reader import AppStoreReviewsReader
# app_id, and country of xcode
reader = AppStoreReviewsReader(
app_id="497799835",
country="us"
)
# To fetch reviews entered in past 5 days
since_time = datetime.utcnow().astimezone(pytz.utc) + timedelta(days=-5)
# fetch_reviews will fetch all reviews if not parameters are passed.
# If `after` is passed then it will fetch all reviews after this date
# If `since_id` is passed then it will fetch all reviews after this review_id
reviews = reader.fetch_reviews(
after=since_time
)
pp = pprint.PrettyPrinter(indent=4)
for review in reviews:
pp.pprint(review.__dict__)
Review contains following information -
@dataclass
class Review:
version: str
rating: int
id: int
title: str
content: str
date: datetime
author_link: str
author_name: str
country: str
vote_count: Optional[int] = 0
vote_sum: Optional[int] = 0
The output is given with UTF-8 charsets, if you are scraping non-english App Store set the environment to use UTF -
export LANG=en_US.UTF-8
export PYTHONIOENCODING=utf-8
Release files for app-store-reviews-reader 1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| app-store-reviews-reader-1.3.tar.gz | 8.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| app_store_reviews_reader-1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.4 kB
Release files / app-store-reviews-reader-1.3.tar.gz
| Download URL | app-store-reviews-reader-1.3.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
30aa441c1124462e9f5e3fb7a7c40806149e6d8caef9a14aba45cd9580e32a9d
|
|
BLAKE2b-256 checksum How to use checksums |
055fc359d05d76ed2cbde567e80c0050eeb97237423d312599b8294635e3aad8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.23
|
Release files / app_store_reviews_reader-1.3-py3-none-any.whl
| Download URL | app_store_reviews_reader-1.3-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a450c95e83b9bab3063baeca7e12bacc01c129bcdd8044989b2c9bc2d8f19b02
|
|
BLAKE2b-256 checksum How to use checksums |
293a9e4ccdb13d82e455f31a05cb32053d9677940410a5354bb6088fc28df595
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.23
|