Pular para o conteúdo principal

GooglePlay::Apps - Scraper de aplicativos do Google Play

Visão geral do scraper

Visão geral do scraperGooglePlay::AppsGooglePlay::Apps – extrai dados sobre aplicativos do Google Play. Coleta automatizada de todos os dados: nome, classificação, autor, descrição, link para o aplicativo e preço.

Você pode usar a multiplicação automática de consultas, a substituição de subconsultas a partir de arquivos, a iteração de combinações alfanuméricas e listas para obter a maior quantidade possível de resultados. Utilizando a filtragem de resultados, você pode limpar imediatamente o resultado, removendo todo o lixo desnecessário (usando palavras-chave negativas).

A funcionalidade do A-Parser permite salvar as configurações de extração de dados do scraper GooglePlay::Apps para uso posterior (presets), definir agendamentos de extração de dados e muito mais.

A preservação dos resultados é possível no formato e na estrutura que você necessita, graças ao poderoso motor de modelos integrado Template Toolkit, que permite aplicar lógica adicional aos resultados e exibir dados em vários formatos, incluindo JSON, SQL e CSV.

Casos de uso do scraper

Dados coletados

Os dados são coletados do serviço play.google.com

Dados coletados
  • Nome
  • Classificação
  • Descrição
  • Link para o aplicativo
  • Preço
  • Número de downloads
  • Gênero do aplicativo

Recursos

  • Escolha do país de onde a busca é realizada
  • Escolha do idioma da página de resultados
  • Busca por preço (Gratuito ou Pago)
  • Busca por classificação (Todos ou acima de 4+)

Opções de uso

  • Extração de dados sobre aplicativos do Google Play

Consultas

Como consultas, é necessário indicar frases pelas quais a busca será realizada no GooglePlay, por exemplo:

pulsômetro

Substituições de consultas

Você pode usar macros integradas para substituição automática de subconsultas a partir de arquivos; por exemplo, queremos adicionar uma lista de outras palavras a cada consulta, indicaremos algumas consultas principais:

fantasy
tower defense
rpg

No formato de consultas, indicaremos a macro de substituição de palavras adicionais do arquivo keywords.txt; este método permite aumentar a variabilidade das consultas exponencialmente:

{subs:keywords} $query 

Esta macro criará tantas consultas adicionais quantas estiverem no arquivo para cada consulta de pesquisa original, o que resultará em [quantidade de consultas originais] x [quantidade de consultas no arquivo Keywords] = [quantidade total de consultas] como resultado da execução da macro.

Por exemplo, se o arquivo keywords.txt contiver:

free
online

No final, a macro de substituições transformará 3 consultas principais em 6:

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

Opções de exibição de resultados

O A-Parser suporta formatação flexível de resultados graças ao motor de modelos integrado Template Toolkit, o que permite exibir resultados em formato livre, bem como estruturado, como CSV ou JSON

Exibição padrão

Formato do resultado:

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

Exemplo de resultado:

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)

Exibição em tabela CSV

Formato do resultado:

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

Nome do arquivo:

$datefile.format().csv

Texto inicial:

Nome,Classificação,Autor,Preço

dica

No Formato de resultados, aplica-se o motor de modelos Template Toolkit para exibir os elementos do array $serp em um loop FOREACH.

No nome do arquivo de resultados, basta alterar a extensão do arquivo para csv.

Para que a opção "Prepend text" esteja disponível no Editor de Tarefas, é necessário ativar "More options". No "Prepend text", escrevemos os nomes das colunas separados por vírgula e deixamos a segunda linha vazia.

Salvamento em formato SQL

Formato do resultado:

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

Exemplo de resultado:

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 de resultados em JSON

Formato geral do resultado:

[% 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 %]

Texto inicial:

[

Texto final:

]

Exemplo de resultado:

[{"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"}]}]
dica

Para que as opções "Prepend text" e "Append text" estejam disponíveis no Editor de Tarefas, é necessário ativar "More options".

Configurações possíveis

ParâmetroValor padrãoDescrição
CountryUnited StatesEscolha do país de onde a busca é realizada.
LanguageEnglishEscolha do idioma da página de resultados.
PricesAllSeleção de resultados por preço (Free ou Paid).
RatingsAllSeleção de resultados por classificação.