Passer au contenu principal

GooglePlay::Apps - Scraper d'applications Google Play

Présentation du scraper

Présentation du scraperGooglePlay::AppsGooglePlay::Apps – collecte des données sur les applications de Google Play. Collecte automatisée de toutes les données : nom, note, auteur, description, lien vers l'application et prix.

Vous pouvez utiliser la multiplication automatique des requêtes, la substitution de sous-requêtes à partir de fichiers, l'itération de combinaisons alphanumériques et de listes pour obtenir le maximum de résultats possible. En utilisant le filtrage des résultats, vous pouvez immédiatement nettoyer le résultat en supprimant tous les éléments inutiles (en utilisant des mots-clés négatifs).

La fonctionnalité d'A-Parser permet d'enregistrer les paramètres de collecte de données du scraper GooglePlay::Apps pour une utilisation ultérieure (présélections), de définir un calendrier de collecte et bien plus encore.

La sauvegarde des résultats est possible dans le format et la structure dont vous avez besoin, grâce au puissant moteur de gabarits intégré Template Toolkit qui permet d'appliquer une logique supplémentaire aux résultats et d'exporter les données dans divers formats, y compris JSON, SQL et CSV.

Cas d'utilisation du scraper

Données collectées

Les données sont collectées à partir du service play.google.com

Données collectées
  • Nom
  • Note
  • Description
  • Lien vers l'application
  • Prix
  • Nombre de téléchargements
  • Genre de l'application

Possibilités

  • Choix du pays à partir duquel la recherche est effectuée
  • Choix de la langue de la page de résultats
  • Recherche par prix (Gratuit ou Payant)
  • Recherche par note (Toutes ou supérieures à 4+)

Cas d'utilisation

  • Collecte de données sur les applications de Google Play

Requêtes

Comme requêtes, il est nécessaire d'indiquer les phrases par lesquelles la recherche sera effectuée dans GooglePlay, par exemple :

moniteur de fréquence cardiaque

Substitutions de requêtes

Vous pouvez utiliser les macros intégrées pour la substitution automatique de sous-requêtes à partir de fichiers, par exemple si nous voulons ajouter une liste d'autres mots à chaque requête, indiquons quelques requêtes de base :

fantasy
tower defense
rpg

Dans le format des requêtes, indiquons la macro de substitution de mots supplémentaires à partir du fichier keywords.txt, cette méthode permet d'augmenter considérablement la variabilité des requêtes :

{subs:keywords} $query 

Cette macro créera autant de requêtes supplémentaires qu'il y en a dans le fichier pour chaque requête de recherche initiale, ce qui donnera au total [nombre de requêtes initiales] x [nombre de requêtes dans le fichier Keywords] = [nombre total de requêtes] suite au travail de la macro.

Par exemple, si le fichier keywords.txt contient :

free
online

Au final, la macro de substitution transformera 3 requêtes de base en 6 :

free fantasy
online fantasy
free tower defense
online tower defense
free rpg
online rpg

Exemples de sortie de résultats

A-Parser prend en charge un formatage flexible des résultats grâce au moteur de gabarits intégré Template Toolkit, ce qui lui permet d'afficher les résultats sous une forme libre, ainsi que structurée, par exemple CSV ou JSON

Sortie par défaut

Format du résultat :

$serp.format('$name ($rating, $author): $desc ($link, $price)\n')

Exemple de résultat :

Heart Rate Monitor (4.5, Meet Your Need Production): Most Precise Heart Rate Monitor Ever + Unlimited Measurements and Records. (https://play.google.com/store/apps/details?id=com.supersimpleapps.heart_rate_monitor_newui, free)  
Instant Heart Rate : Heart Rate & Pulse Monitor (4.3, Azumio Inc.): Best way to track heart rate, health, fitness, workout, cardio, stress, training (https://play.google.com/store/apps/details?id=si.modula.android.instantheartrate, free)
Pulse - Heart Rate Monitor (4.3, Ahmerov Vadim): Get your heart rate in seconds! The Best way to measure your heart rate. (https://play.google.com/store/apps/details?id=com.icebit.pulse, free)
Heart Rate Monitor (4.5, REPS): The simplest yet the most accurate app to monitor your heart rate! (https://play.google.com/store/apps/details?id=com.repsi.heartrate, free)
Cardiograph - Heart Rate Meter (3.8, MacroPinch): How fast is your heart beating? Measure your pulse. (https://play.google.com/store/apps/details?id=com.macropinch.hydra.android, free)
iCare Health Monitor (BP & HR) (4.6, iCare Fit Studio): Measure blood pressure,heart rate,vision,hearing,SpO2,breath rate by the phone (https://play.google.com/store/apps/details?id=comm.cchong.BloodAssistant, free)

Sortie dans un tableau CSV

Format du résultat :

[% FOREACH i IN serp; 
tools.CSVline(i.name, i.rating, i.author, i.price);
END %]

Nom du fichier :

$datefile.format().csv

Texte initial :

Nom,Note,Auteur,Prix

astuce

Dans le Format des résultats, le moteur de gabarits Template Toolkit est utilisé pour afficher les éléments du tableau $serp dans une boucle FOREACH.

Dans le nom du fichier de résultats, il suffit de changer l'extension du fichier en csv.

Pour que l'option "Texte initial" soit disponible dans l'Éditeur de tâches, vous devez activer "Plus d'options". Dans "Texte initial", nous inscrivons les noms des colonnes séparés par des virgules et nous laissons la deuxième ligne vide.

Enregistrement au format SQL

Format du résultat :

[% FOREACH serp;
"INSERT INTO serp VALUES('" _ name _ "', '" _ rating _ "', '" _ author _ "')\n";
END %]

Exemple de résultat :

INSERT INTO serp VALUES('Internet Speed Test-FiberTest for Android Smart TV', '3.9', 'RedMango Analytics PVT LTD')
INSERT INTO serp VALUES('Phone Check and Test', '4.6', 'inPocket Software')
INSERT INTO serp VALUES('Speedtest by Ookla', '4.3', 'Ookla')
INSERT INTO serp VALUES('Expert Speed Test WiFi Analyzer - analiti', '4.6', 'analiti Experts Group')
INSERT INTO serp VALUES('Brain Test: Tricky Puzzles', '4.6', 'Unico Studio')
INSERT INTO serp VALUES('Love Test Calculator - Compatibility Tester Prank', '3.8', 'DH3 Games')
INSERT INTO serp VALUES('FAST Speed Test', '4.3', 'Netflix, Inc.')
INSERT INTO serp VALUES('DMV WRITTEN TEST: Free DMV Tests for All 50 States', '4.7', 'DMV Written Test')
INSERT INTO serp VALUES('Brain Test 2: Tricky Stories', '4.6', 'Unico Studio')
INSERT INTO serp VALUES('Internet speed test Meter- SpeedTest Master', '4.9', 'Test speed internet & Net meter')
INSERT INTO serp VALUES('Test Your Android - Hardware Testing & Utilities', '4.2', 'Hibernate')
INSERT INTO serp VALUES('Stupid Test - How Smart Are You?', '3.6', 'DH3 Games')
INSERT INTO serp VALUES('love test', '4.1', 'MobilPlug')
INSERT INTO serp VALUES('Personality Trait Test', '4.2', 'Aaditya Prakash')
INSERT INTO serp VALUES('Aptitude test. Personality test games', '4.2', 'iq test')
INSERT INTO serp VALUES('What animal are you? Test', '3.5', 'Hemisoft')
INSERT INTO serp VALUES('Lie Detector Face Test Simulator Prank', '3.9', 'Droidheads')
INSERT INTO serp VALUES('BFF Friendship Test', '4.1', 'DH3 Games')
INSERT INTO serp VALUES('IQ and Aptitude Test Practice', '4.0', 'LangiS')
INSERT INTO serp VALUES('FCC Speed Test', '3.3', 'FCCAPPs')
INSERT INTO serp VALUES('40+ Psychological Tests', '4.4', 'MuraDev')
INSERT INTO serp VALUES('G1 Test Genie: Drivers Test Practice Ontario 2021', '4.5', 'Elegant E-Learning')
INSERT INTO serp VALUES('Brain test - psychological and iq test', '4.4', 'iq test')

Dump des résultats en JSON

Format de sortie general:

[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;

obj = {};
obj.serp = [];

FOREACH item IN p1.serp;
obj.serp.push({
name = item.name
author = item.author
rating = item.rating
price = item.price
});
END;

obj.json %]

Texte initial:

[

Texte final:

]

Exemple de résultat :

[{"serp": [{"name":"Internet Speed Test-FiberTest for Android Smart TV","price":"free","author":"RedMango Analytics PVT LTD","rating":"3.9"},{"name":"Phone Check and Test","price":"free","author":"inPocket Software","rating":"4.6"},{"name":"Speedtest by Ookla","price":"free","author":"Ookla","rating":"4.3"},{"name":"Expert Speed Test WiFi Analyzer - analiti","price":"free","author":"analiti Experts Group","rating":"4.6"},{"name":"Brain Test: Tricky Puzzles","price":"free","author":"Unico Studio","rating":"4.6"},{"name":"Love Test Calculator - Compatibility Tester Prank","price":"free","author":"DH3 Games","rating":"3.8"},{"name":"FAST Speed Test","price":"free","author":"Netflix, Inc.","rating":"4.3"},{"name":"DMV WRITTEN TEST: Free DMV Tests for All 50 States","price":"free","author":"DMV Written Test","rating":"4.7"},{"name":"Internet speed test Meter- SpeedTest Master","price":"free","author":"Test speed internet & Net meter","rating":"4.9"},{"name":"Brain Test 2: Tricky Stories","price":"free","author":"Unico Studio","rating":"4.6"},{"name":"Stupid Test - How Smart Are You?","price":"free","author":"DH3 Games","rating":"3.6"}]}]
astuce

Pour que les options "Texte initial" et "Texte final" soient disponibles dans l'Éditeur de tâches, vous devez activer "Plus d'options".

Paramètres possibles

ParamètreValeur par défautDescription
CountryUnited StatesChoix du pays à partir duquel la recherche est effectuée.
LanguageEnglishChoix de la langue de la page de résultats.
PricesAllSélection des résultats par prix (Gratuit ou Payant).
RatingsAllSélection des résultats par note.