Pular para o conteúdo principal

SE::Google::Trends - Scraper de palavras-chave em tendência de acordo com o Google

Google Trends

Visão geral do scraper

Scraper de consultas de pesquisa do Google Trends. O scraper do Google Trends pode obter automaticamente uma lista de todas as categorias às quais uma consulta pertence, bem como uma lista de interesses por região e tempo.

Você pode usar a propagação automática de consultas, substituição de subconsultas a partir de arquivos, combinação de caracteres alfanuméricos e listas para obter o máximo possível de resultados. Usando 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 SE::Google::Trends para uso futuro (presets), definir cronogramas de extração de dados e muito mais.

A preservação dos resultados é possível no formato e 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

  • Lista de todas as categorias às quais a consulta pertence, no formato (consulta, categoria, porcentagem de popularidade)
  • Lista de interesses ao longo do tempo no formato: tempo de interesse (em formato unix), porcentagem de popularidade
  • Lista de interesses por região no formato: região, porcentagem de popularidade
  • Lista de consultas relacionadas principais (líderes)
  • Lista de consultas relacionadas em ascensão (no trend)

Recursos

  • Possibilidade de comparar dados de várias palavras-chave, para isso basta listá-las separadas por vírgula
  • Possibilidade de escolher o país para avaliação da keyword
  • Escolha do período para exibição dos resultados
  • Escolha da propriedade para extração de dados (Web Search, Image Search, News Search, etc.)
  • Escolha da categoria do Google Trends (você pode descobrir a lista de categorias usando o scraper JS::GoogleTrendsCat)
  • Possibilidade de especificar um intervalo de datas personalizado
  • Pesquisa por categoria

Opções de uso

  • Avaliação do volume de tráfego por keyword
  • Busca de novas palavras-chave de temas semelhantes
  • Para definir datas personalizadas, é necessário selecionar Custom time em Search time e especificar o intervalo de datas no formato YYYY-MM-DD YYYY-MM-DD em Custom time range
  • A pesquisa por categoria ignora a consulta enviada ao scraper (opção Use empty queries(ignore query value))
Spoiler: Exemplo
Exemplo de uso das opções Search time e Custom time

Consultas

Como consultas, você deve especificar palavras-chave, exatamente como se as estivesse digitando diretamente no formulário de pesquisa do Google, por exemplo:

write essay
Football
Waterfall
Speak in english
Cats and dogs
forex
cheap essay

Substituições de consultas

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

essay
article
thesis

No formato de consultas, indicamos 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(domínios)] 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:

buy
cheap

Como resultado, a macro de substituição transformará 3 consultas principais em 6:

buy essay
cheap essay
buy article
cheap article
buy thesis
cheap thesis

Exemplos de saída 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 forma livre, bem como estruturada, como CSV ou JSON

Exportação da lista de consultas relacionadas em ascensão no formato: consulta original, palavra-chave relacionada, popularidade.

Formato do resultado:

$query:\n$related_queries_rising.format('$key,$rquery,$interest\n')

Exemplo de resultado:

write essay:
write essay,write my essay 4 me,6550
write essay,write essay on globalization and 21st century,1450
write essay,grammarly,1100
write essay,how to write a hook for an argumentative essay,1000
write essay,write my essay for me cheap,1000
write essay,pay someone to write my essay,550
write essay,write that essay login,550
write essay,write my essay cheap,500
write essay,google docs,350
write essay,docs,300
write essay,how to write an argumentative essay step by step,250
write essay,someone write my essay,200
write essay,how long does it take to write a 1000 word essay,200
write essay,how long does it take to write a 2000 word essay,200
write essay,how to write a synthesis essay ap lang,200
write essay,pay to write essay,190
write essay,write essay on my school,180
write essay,how to write essay in hindi,170
write essay,write an essay on my school,170
write essay,help me write an essay,150
write essay,write my essay for me,130
write essay,help me write my essay,120
write essay,write my paper for me,120
write essay,how to write a hook for a persuasive essay,110
write essay,write essay for me,100

A utilidade integrada $tools.CSVLine permite criar documentos de tabela corretos, prontos para importação no Excel ou Google Sheets.

Formato geral do resultado:

[% FOREACH i IN p1.related_queries_rising;
tools.CSVline(i.key, i.rquery, i.interest);
END %]

Nome do arquivo:

$datefile.format().csv

Texto inicial:

Consulta original,Palavra-chave relacionada,Popularidade

dica

No Formato geral de resultados, aplica-se o motor de modelos Template Toolkit para exibir a array $related_queries_rising 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 related_queries_rising;     "INSERT INTO serp VALUES('" _ key _ "', '";     rquery _ "', '";    interest _ "')\n"; END  %]

Exemplo de resultado:

INSERT INTO serp VALUES('write essay', 'write my essay 4 me', '6550')
INSERT INTO serp VALUES('write essay', 'write essay on globalization and 21st century', '1450')
INSERT INTO serp VALUES('write essay', 'grammarly', '1100')
INSERT INTO serp VALUES('write essay', 'how to write a hook for an argumentative essay', '1000')
INSERT INTO serp VALUES('write essay', 'write my essay for me cheap', '1000')
INSERT INTO serp VALUES('write essay', 'pay someone to write my essay', '550')
INSERT INTO serp VALUES('write essay', 'write that essay login', '550')
INSERT INTO serp VALUES('write essay', 'write my essay cheap', '500')
INSERT INTO serp VALUES('write essay', 'google docs', '350')
INSERT INTO serp VALUES('write essay', 'docs', '300')
INSERT INTO serp VALUES('write essay', 'how to write an argumentative essay step by step', '250')
INSERT INTO serp VALUES('write essay', 'someone write my essay', '200')
INSERT INTO serp VALUES('write essay', 'how long does it take to write a 1000 word essay', '200')
INSERT INTO serp VALUES('write essay', 'how long does it take to write a 2000 word essay', '200')
INSERT INTO serp VALUES('write essay', 'how to write a synthesis essay ap lang', '200')
INSERT INTO serp VALUES('write essay', 'pay to write essay', '190')
INSERT INTO serp VALUES('write essay', 'write essay on my school', '180')
INSERT INTO serp VALUES('write essay', 'how to write essay in hindi', '170')
INSERT INTO serp VALUES('write essay', 'write an essay on my school', '170')
INSERT INTO serp VALUES('write essay', 'help me write an essay', '150')
INSERT INTO serp VALUES('write essay', 'write my essay for me', '130')
INSERT INTO serp VALUES('write essay', 'help me write my essay', '120')
INSERT INTO serp VALUES('write essay', 'write my paper for me', '120')
INSERT INTO serp VALUES('write essay', 'how to write a hook for a persuasive essay', '110')
INSERT INTO serp VALUES('write essay', 'write essay for me', '100')
...

Dump de resultados em JSON

Formato do resultado:

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

obj = {};
obj.related_queries_rising.key = [];
obj.related_queries_rising.rquery = [];
obj.related_queries_rising.interest = [];

FOREACH item IN p1.related_queries_rising;
obj.related_queries_rising.key.push(item.key);
obj.related_queries_rising.rquery.push(item.key);
obj.related_queries_rising.interest.push(item.key);
END;

obj.json %]

Texto inicial:

[

Texto final:

]

Exemplo de resultado:

[{"related_queries_rising":{"rquery":["write my essay 4 me","write essay on globalization and 21st century","grammarly","how to write a hook for an argumentative essay","write my essay for me cheap","pay someone to write my essay","write that essay login","write my essay cheap","google docs","docs","how to write an argumentative essay step by step","someone write my essay","how long does it take to write a 1000 word essay","how long does it take to write a 2000 word essay","how to write a synthesis essay ap lang","pay to write essay","write essay on my school","how to write essay in hindi","write an essay on my school","help me write an essay","write my essay for me","help me write my essay","write my paper for me","how to write a hook for a persuasive essay","write essay for me"],"interest":[6550,1450,1100,1000,1000,550,550,500,350,300,250,200,200,200,200,190,180,170,170,150,130,120,120,110,100],"key":["write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay","write essay"]}}]
dica

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

Processamento de resultados

O A-Parser permite processar resultados diretamente durante a extração de dados; nesta seção, apresentamos os casos mais populares para o scraper SE::Google::Trends

Uso de data personalizada

Para definir datas personalizadas, é necessário selecionar Custom time em Search time e especificar o intervalo de datas no formato YYYY-MM-DD YYYY-MM-DD em Custom time range.

Baixar exemplo

Como importar o exemplo para o A-Parser

eJx1U1GP2jAM/iuVxcNN4hDctJe+cWhMm9j1dsATQqeIuCy7NMmSlA1V/e9z0tIC
46RKjZ3vsz/HdgWeuTf3bNGhd5BuKjDxDCksP6fpF633EtN0ZVFxl9wna4fJrnRe
FwlnHmEIhlmHNnA3NygE4JizUnoYVuCPBimyPqC1gge24GQ7ZHb389WLIrgOTJYB
1aSB+n1eg7jmPYwfxvfjCX0JHen/kY5Qb7dDoNJIiZtrW7BQ4sBMRm293eWSHXCl
6TIXEnv3nKwnVoQEg1B5uB3lMdDdh5H/GyIwzoUXWjHZZAiP0mddK/E7ClSasHS0
At3cUokpeIwBgvN4UreBQbSBQpSR+6PhQJoz6XAIjqTOGQnh1zfCo2Ve28wEPeSv
QKuplAs8oOxhMf5jKSSnDk5zIn1tibch2X8x6q6881TUpz+WNHRRovWYfe9ZXC/0
/vQYUhTCk+1mulShMWNyviGa7s2eAqzQFrs0beQ2O02woXkjZN+yqeldF2VctOXS
udMqF/usHbQTslQrWpNMzXRhJIa6VCkltcXhSz8eU9e2IRi9wGvyLKYgWd1igNda
um/LRqqxgsbvUxBY0EueZ21D7piU65fF+Q30I0VGfO4EnWNHCHCPe02DRMXU225j
u6Wvbu1tWtXUpV/uuQGHkqKT9oxMagGkk/ofqyh6IQ==

Filtragem de resultados

Exemplo de exportação da lista de consultas relacionadas em ascensão cuja popularidade é inferior a um valor especificado.

Exemplo de filtragem
Baixar exemplo

Como importar o exemplo para o A-Parser

eJxtVMFu2zAM/ZVACNAVcIP20IsPA9JgKTpkddekpzQohIoOtMiSK8pZA8P/PkqW
7aTLzaRIvsdH0jVzHHf4ZAHBIUvXNSvDN0vZ8kea3huzVZCmKwta4OhqNJfKgR3B
Jy9KBSxhJbcI1qeuz2RQgICcV8qxpGbuUAIVNnuwVgqfLQXZubEFdwQbwtieq8qH
jT8qsIf09VWPLSjuQLx5jwR8sxKl3k7axG8X4x0ckrEN8clYamII6Cjx4pI1A24e
uBNChErX7HxhTywWYZsk5q3aIt+PGN5eX5NlSieNJhNBI2s2mw4A54Gfb6W8mURd
+8cl38PKtLRgcJPA8MiLIIAgbv61a/Ry4j59BS6E9JhctQhe/QH1RcuPQE8bio2d
za0pyOUgFAhKdezWUWnfahVyf7c5LM25QkgYEtU5JyLi64skYbgzNgsakL9mRk+V
WsAe1BAW6t9VUglalWlOSQ8x8XxI9l+Npm/vGIoW6a8lDn2VYN1lv4YsYRZm24mh
ZCEd2TgzlfaD8fPbAZS9Zo8+rDAWephYOaLTpZS02BQ5jGxaDq6TNk7Gcup8NzqX
2yxeQhdZ6RWdY6Znxl+X70tXStFYEJ6H9ZhiHIM3BoJfk2cBgmj1F8icMQp/Lluq
pZW0freeYEFKHqPGku9cqZfnxfELG1aKjCD3CBD5gflwB1tDi0TNNJv+19D/XOpz
P4i0bmhKf/CpDfYtBSddGZnhsG6af/TaovA=
dica

Veja também: Filtros de resultados

Configurações possíveis

Nome do parâmetroValor padrãoDescrição
Search regionWorldwideEscolha da região
LanguageEnglishEscolha do idioma
Search timeDefault(Past 5 years)Escolha do período para exibir o resultado
Custom time rangeString vaziaEntrada de um intervalo de datas personalizado quando Seacrh time = Custom time (formato YYYY-MM-DD YYYY-MM-DD)
Search category id0Escolha da categoria
Search propertyDefault(Web Search)Escolha da propriedade para extração de dados (Web Search / Image Search / News Search / Google Shopping / YouTube Search)
Use empty queries(ignore query value)Ignora o valor da consulta enviada ao scraper e realiza a pesquisa por categoria