google-play-scraper icon indicating copy to clipboard operation
google-play-scraper copied to clipboard

[BUG] When run app() multiple times, categories list in output is wrong.

Open GuanHenan opened this issue 1 year ago • 3 comments

I find a bug in constants/element.py, line 42

def extract_categories(s, categories=None): if categories == None: categories = [] if s == None or len(s) == 0: return categories if len(s) >= 4 and type(s[0]) is str: categories.append({"name": s[0], "id": s[2]}) else: for sub in s: extract_categories(sub, categories) return categories

The problem is using list as the default parameter. It does not work as expected. It's recommended to use None as the default value and initialize the list inside the function if it's None.

GuanHenan avatar May 26 '23 09:05 GuanHenan

Modify the function extract_categories in google_play_scraper/constants/element.py as following:

def extract_categories(s, categories=None):
    if categories == None:
        categories = []
    if s == None or len(s) == 0:
        return categories

    if len(s) >= 4 and type(s[0]) is str:
        categories.append({"name": s[0], "id": s[2]})
    else:
        for sub in s:
            extract_categories(sub, categories)

    return categories

GuanHenan avatar Aug 18 '23 10:08 GuanHenan

Oops. I'll fix it in the next release.

JoMingyu avatar Sep 26 '23 07:09 JoMingyu

@JoMingyu when I run the app multiple times, I can not fetch more than a few hundreds of reviews even though millions of reviews are available. It is happening for popular apps like Google meet. My research work is not progressing. I am a doctoral scholar. Please take care..

puntu avatar Apr 08 '24 19:04 puntu