facundoolano / google-play-scraper

Node.js scraper to get data from Google Play
MIT License
2.36k stars 634 forks source link

fullDetail is broken for .similar() #406

Open Aditya94A opened 4 years ago

Aditya94A commented 4 years ago

Passing fullDetail: true for the similar method has no effect.

icarcal commented 4 years ago

@AdityaAnand1 can you provide a code sample?

Aditya94A commented 4 years ago

You can try the one in the readme itself:

var gplay = require('google-play-scraper');

gplay.similar({appId: "com.dxco.pandavszombies"}).then(console.log);

It doesn't return all the fields, only a small subset:

[ { url: 'https://play.google.com/store/apps/details?id=com.creative.rambo',
    appId: 'com.creative.rambo',
    summary: 'Rambo - The Mobile Game',
    developer: 'Creative Distribution Ltd',
    developerId: '8812103738509382093',
    icon: '//lh3.googleusercontent.com/QDRAv7v4LSCfZgz3GIbOSz8Zj8rWqeeYuqqYiqyQXkxRJwG7vvUltzsFaWK5D7-JMnIZ=w340',
    score: 3.3,
    scoreText: '3.3',
    priceText: '$2.16',
    free: false } ]

I'm guessing the detail call isn't being made at all (judging by the speed with which the method returns after returning ~50 similar apps which should take a while)

bfelbo commented 3 years ago

This is still an issue. It's also clear from the code itself. E.g. search() has the following code, whereas similar() doesn't use opts.fullDetail at all.

    if (opts.fullDetail) {
      // if full detail is wanted get it from the app module
      return Promise.all(results.map((app) => appData({ ...opts, appId: app.appId })));
    }
icarcal commented 3 years ago

@bfelbo @AdityaAnand1 #458 is now up for review

LuckyFQ commented 3 years ago

This's still an issue. fullDetail: true has no effect. It only returns up to 50 similar apps