Bonjour tous le monde,

Je récupére une page HTML comme ceci :

this.http.get('https://play.google.com/store/apps/details?id=com.xxxxxxxxx.xxxxxxxx', {responseType: 'text'}).subscribe(result => {
      console.log("GOOGLE PLAY");
      let datas = result.getElementsByClassName("htlgb");
      console.log(datas);
    });

quand je lance ionic serve, j'ai une erreur qui me dis qu'il ne connais pas getElementsByClassName, est ce que il y a un moyen de faire cela ?

Merci d'avance ^^

11 réponses


Manuel Alvarez-Iglisias
Auteur
Réponse acceptée

Au final je passe par iTunes et non par google play ^^

si tu veut scrapper le site de google ( se qui est une mauvaise idée si ils update leur site ca vas péter l'archi html) voila un petit exemple de comment faire.

J'avais réussis, mais mon responsable ne veux pas ajouter de librairies supplémentaire pour pas alourdir l'application, une autre solution ? :/

J'ajoute des précisions de ce qu'il m'est imposé :
Le but serai de rechercher un mot dans la page, genre "Version actuelle" et d'arriver à atteindre le numéro de version via cela. Il ne faut pas utiliser de classes pour éviter que le script pète justement à cause d'un changement de classes ou un truc du genre (je suis tout à fait d'accord avec ça).

Ce qui peut-être fait alors c'est dû côté du serveur, tu utilises cherrio pour crawler le site web et récupérer la version de l'app que tu veux et ensuite tu la récupères depuis l'app. Ton objet result que tu reçois n'est pas lié à au class document c'est juste le rendu HTML donc tu ne peux pas utiliser de getelementbyid/ClassName ou queryselector.

Mon responsable ne valide pas cette solution non plus, car d'utiliser cheerio reviens à me référencer a une classe, le script sera pété si changement de design / classes etc.
Et comme tu dis je n'ai que du text en retour donc pas moyen de récupérer quoi que se soit je suis un peu coincé j'ai pas l'impression que c'est faisable de la façon dont ils me demandent de le faire.... :(

Ha non c'est pas faisable du tous, ou alors via l'api si tu connais l'id de review, tu peut récupéré la derniere review et du coup la version de l'app concerné

Tu peux m'en dire plus à ce niveau là ?

quand tu met ton app sur le store tu passe en review, du coup tu a un id de review, donc si tu connais cette id et le nom du package tu peut utiliser cette methode GET https://www.googleapis.com/androidpublisher/v3/applications/packageName/reviews/reviewId pour pouvoir accerder au info de la review et donc recupéré les infos de version de l'app en cours.

Il y a un moyen de retrouver cette ID en se connectant sur la Google Play Console ? Car là je cherche mais je trouve rien que s'en rapproche ^^' je débute sur le dev mobile du coup voilà ^^'

regarde dans l'url

&appid=xxxxxxxxxxxxxxxxxxxxxxxx ?