SE::Google::KeywordPlanner::Ideas - extractor de variantes de palabras clave de Google Keyword Planner

Descripción del extractor
SE::Google::KeywordPlanner::Ideas – extracción de variantes de palabras clave y sugerencias de Google Keyword Planner. Hay una gran cantidad de datos disponibles para su uso: extracción de listas de sugerencias, evaluación de la competencia para palabras clave, recopilación del promedio de búsquedas mensuales, pujas mínimas y máximas, búsqueda de nuevas palabras clave de temática similar. En la configuración de la extracción de datos, puede especificar el idioma, la región, la ubicación y el período de muestreo de datos. También está disponible un modo por lotes, gracias al cual se pueden obtener datos para 20 palabras clave a la vez en una sola solicitud al servicio, acelerando así significativamente la extracción de datos.Gracias al funcionamiento multihilo de A-Parser, la velocidad de procesamiento de consultas puede alcanzar varios miles de consultas por minuto.
La funcionalidad de A-Parser permite guardar la configuración de extracción del extractor SE::Google::KeywordPlanner::Ideas para su uso posterior (ajustes preestablecidos), establecer programas de extracción y mucho más.
Es posible guardar los resultados en el formato y la estructura que necesite, gracias al potente motor de plantillas integrado Template Toolkit, que permite aplicar lógica adicional a los resultados y exportar datos en varios formatos, incluidos JSON, SQL y CSV.
Datos recopilados
- Promedio de búsquedas mensuales para la palabra clave buscada
- Listas de sugerencias
- Variantes de palabras clave
- Promedio de búsquedas mensuales
- Competencia
- Pujas mínimas y máximas
- Tendencias para cada variante obtenida
Características
- Soporte para autorización mediante usuario y contraseña o mediante la inserción de cookies y encabezados
- Determinación del grado de precisión de $volume: valor exacto/redondeado
- Soporte para modo por lotes, más detalles en la sección Queries (Consultas)
- Soporte para cuentas múltiples (para seleccionar la cuenta deseada, se debe especificar obligatoriamente su
ocid(uscid)) - Extracción de datos sobre volúmenes de búsqueda para cada palabra clave mensualmente durante un período especificado (
$ideas.$i.trends). Los datos se presentan en JSON, ejemplo de su salida en el resultado en la captura de pantalla a continuación:
Spoiler: Captura de pantalla

Plantilla:
[% FOREACH item IN ideas;
trends = tools.parseJSON(item.trends);
item.keyword _ "\n";
trends.format('$month: $volume\n');
"----\n";
END %]
Casos de uso
- Extracción de listas de sugerencias
- Evaluación de la competencia para palabras clave
- Recopilación del promedio de búsquedas mensuales, pujas mínimas y máximas
- Búsqueda de nuevas palabras clave de temática similar
Configuración
Existen dos opciones para configurar el extractor:
- especificar el correo electrónico\contraseña de la cuenta de Keyword Planner
- autorizarse en el navegador y copiar los valores necesarios
Tenga precaución con el número de hilos. Se recomienda especificar un número bajo de hilos; además, es perfectamente posible realizar la extracción sin proxies.
Autorización mediante correo y contraseña
Es necesario redefinir las opciones E-mail y Password, indicando los datos de su cuenta de Keyword Planner. La cuenta debe tener obligatoriamente una campaña creada.
Spoiler: (Solución) Login failed TypeError: Cannot read property '1' of null
En caso de que ocurra este error, debe eliminar su cuenta de Google del navegador e iniciar sesión de nuevo.

Autorización en el navegador e inserción de encabezados en el extractor
Es necesario autorizarse en el navegador a través del enlace https://ads.google.com/aw/keywordplanner/home, crear la primera campaña si no existía previamente, tomar los siguientes datos e indicarlos en la configuración del extractor:
Las cookies se pueden especificar de dos maneras:
- Indicar todas las cookies en la opción All cookies
- Indicar los valores de las cookies para las opciones __Secure-3PSID, __Secure-3PSIDTS (__Secure-3PSIDTS debe indicarse en caso de que el authuser en la cuenta sea igual a 0)
Otros encabezados:
- Valor del encabezado x-framework-xsrf-token
- Valor del parámetro ocid o uscid de la URL
- Valor del parámetro authuser de la URL
Spoiler: Cómo encontrar los parámetros necesarios


Consultas
Dependiendo del valor del parámetro Query type, las consultas pueden tener diferentes formas. A continuación se enumeran las opciones posibles, se muestran ejemplos y se describen las características de los resultados obtenidos.
Keyword
Las consultas deben ser en forma de palabras clave, una por línea. Ejemplo de consultas:
test
extractor
Windows 11
cómo cultivar un árbol
Se admite el modo por lotes, que se activa con la opción Bulk (packet) mode. En este modo, el extractor enviará paquetes de 20 palabras clave en la consulta al servicio, por lo que cambia la lógica de llenado de resultados:
$volumese completará para cada palabra clave$ideasy$suggestsse completarán solo para la primera palabra clave, pero estos arreglos contendrán todos los resultados sumados para todas las palabras clave utilizadas en dicho paquete
Site + keyword
Las consultas deben ser en forma de sitio y, tras un espacio, la palabra clave. Ejemplo de consultas:
speedtest.com Network speed
a-parser.com parser
También se admite el modo por lotes; para usarlo, debe enumerar las palabras clave separadas por comas, ejemplo:
4pda.to android,ios,firmware
google.com google,ads,publicidad,búsqueda de sitios en internet
$volumepara este tipo de consultas en modo por lotes no se extrae
Entire site
Como consultas se deben indicar dominios, uno por línea. Por ejemplo:
apple.com
microsoft.com
$volumepara este tipo de consultas no se extraen
URL
Como consultas se deben indicar enlaces, uno por línea. Por ejemplo:
https://a-parser.com/docs/parsers/se-google-keywordplanner
https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics
$volumepara este tipo de consultas no se extraen
Sustituciones en consultas
Puede utilizar macros integradas para la sustitución automática de subconsultas desde archivos; por ejemplo, si queremos añadir a cada consulta una lista de otras palabras, indicaremos varias consultas principales:
fantasy
tower defense
rpg
En el formato de consultas indicaremos la macro de sustitución de palabras adicionales del archivo keywords.txt; este método permite aumentar la variabilidad de las consultas exponencialmente:
{subs:keywords} $query
Esta macro creará tantas consultas adicionales como se encuentren en el archivo por cada consulta de búsqueda inicial, lo que resultará en [cantidad de consultas iniciales] x [cantidad de consultas en el archivo Keywords] = [cantidad total de consultas] como resultado del trabajo de la macro.
Por ejemplo, si el archivo keywords.txt contiene:
free
online
Al final, la macro de sustitución convertirá 3 consultas principales en 6:
free fantasy
online fantasy
free tower defense
online tower defense
free rpg
online rpg
Opciones de salida de resultados
A-Parser admite un formateo flexible de resultados gracias al motor de plantillas integrado Template Toolkit, lo que le permite mostrar los resultados en forma arbitraria, así como estructurada, por ejemplo CSV o JSON
Salida por defecto
Formato del resultado:
$ideas.format('$keyword\n')
Ejemplo de resultado:
coca cola
iphone 11 pro
winter
iphone 11 pro max
winter season
iphone11
iphone 11 price
apple iphone 11
iphone 11pro
coke
11 pro max
iphone 11 pro price
iphone 11 max
iphone pro max
iphone 11 128gb
11 pro
iphone 11 pro max price
apple iphone 11 pro
apple iphone 11 pro max
new iphone 11
iphone 11 max pro
apple 11 pro
iphone 11 deals
iphone 11 pro max 256gb
diet coke
first day of winter
iphone 11 pro 256gb
coke zero
iphone pro 11
apple 11 pro max
Salida en tabla CSV
Formato del resultado:
[% FOREACH i IN ideas;
tools.CSVline(i.keyword, i.volume, i.min_bid, i.max_bid);
END %]
Nombre del archivo:
$datefile.format().csv
Texto inicial:
Keyword,Volume,"Min bid","Max bid"
En el Formato de resultados se aplica el motor de plantillas Template Toolkit para mostrar el arreglo $ideas en un ciclo FOREACH.
En el nombre del archivo de resultados, simplemente debe cambiar la extensión del archivo a csv.
Para que la opción "Texto inicial" esté disponible en el Editor de tareas, debe activar "Más opciones". En "Texto inicial" escribimos los nombres de las columnas separados por comas y dejamos la segunda línea vacía.
Guardar en formato SQL
Formato del resultado:
[% FOREACH ideas;
"INSERT INTO ideas VALUES('" _ keyword _ "', '" _ volume _ "')\n";
END %]
Ejemplo de resultado:
INSERT INTO ideas VALUES('perfume', '50000')
INSERT INTO ideas VALUES('eyfel perfume', '5000')
INSERT INTO ideas VALUES('memo marfa', '5000')
INSERT INTO ideas VALUES('duxi', '5000')
INSERT INTO ideas VALUES('kenzo intense', '5000')
INSERT INTO ideas VALUES('climat lancome', '5000')
INSERT INTO ideas VALUES('v canto', '5000')
INSERT INTO ideas VALUES('majda bekkali', '5000')
INSERT INTO ideas VALUES('v canto ricina', '500')
INSERT INTO ideas VALUES('v canto stramonio', '5000')
INSERT INTO ideas VALUES('terenzi kirke', '500')
INSERT INTO ideas VALUES('duhi', '500')
INSERT INTO ideas VALUES('max mara le parfum', '500')
INSERT INTO ideas VALUES('stramonio v canto', '500')
INSERT INTO ideas VALUES('sheikh parfum', '500')
INSERT INTO ideas VALUES('jacques zolty', '500')
INSERT INTO ideas VALUES('aj arabia', '500')
INSERT INTO ideas VALUES('christian lacroix bazar', '500')
INSERT INTO ideas VALUES('juliette has a gun romantina', '500')
INSERT INTO ideas VALUES('vilhelm parfumerie mango skin', '500')
INSERT INTO ideas VALUES('v canto mirabile', '500')
INSERT INTO ideas VALUES('donna karan dkny be delicious', '500')
INSERT INTO ideas VALUES('arteolfatto', '500')
INSERT INTO ideas VALUES('aquawoman rochas', '500')
INSERT INTO ideas VALUES('angel and demon givenchy', '500')
INSERT INTO ideas VALUES('venenum kiss', '500')
INSERT INTO ideas VALUES('v canto mandragola', '500')
INSERT INTO ideas VALUES('angel demon givenchy', '500')
INSERT INTO ideas VALUES('hugo boss boss ma vie pour femme', '500')
INSERT INTO ideas VALUES('nina ricci mademoiselle ricci', '500')
Volcado de resultados en JSON
Formato general del resultado:
[% data = [];
FOREACH p1.ideas;
item = {};
item.keyword = keyword;
item.volume = volume;
data.push(item);
END %]$data.json\n
Ejemplo de resultado:
[{"keyword":"perfume","volume":"50000"},{"keyword":"eyfel perfume","volume":"5000"},{"keyword":"memo marfa","volume":"5000"},{"keyword":"duxi","volume":"5000"},{"keyword":"kenzo intense","volume":"5000"},{"keyword":"climat lancome","volume":"5000"},{"keyword":"v canto","volume":"5000"},{"keyword":"majda bekkali","volume":"5000"},{"keyword":"v canto ricina","volume":"500"},{"keyword":"v canto stramonio","volume":"5000"},{"keyword":"terenzi kirke","volume":"500"},{"keyword":"duhi","volume":"500"},{"keyword":"max mara le parfum","volume":"500"},{"keyword":"stramonio v canto","volume":"500"},{"keyword":"sheikh parfum","volume":"500"},{"keyword":"jacques zolty","volume":"500"},{"keyword":"aj arabia","volume":"500"},{"keyword":"christian lacroix bazar","volume":"500"},{"keyword":"juliette has a gun romantina","volume":"500"},{"keyword":"vilhelm parfumerie mango skin","volume":"500"},{"keyword":"v canto mirabile","volume":"500"},{"keyword":"donna karan dkny be delicious","volume":"500"},{"keyword":"arteolfatto","volume":"500"},{"keyword":"aquawoman rochas","volume":"500"},{"keyword":"angel and demon givenchy","volume":"500"},{"keyword":"venenum kiss","volume":"500"},{"keyword":"v canto mandragola","volume":"500"},{"keyword":"angel demon givenchy","volume":"500"},{"keyword":"hugo boss boss ma vie pour femme","volume":"500"},{"keyword":"nina ricci mademoiselle ricci","volume":"500"},{"keyword":"mmmm juliette has a gun","volume":"500"},{"keyword":"v canto lucrethia","volume":"500"},{"keyword":"mango skin vilhelm parfumerie","volume":"500"},{"keyword":"dalissime salvador dali","volume":"500"},{"keyword":"molecula 02","volume":"50000"},{"keyword":"lucia parfum","volume":"500"},{"keyword":"boadicea pure narcotic","volume":"500"},{"keyword":"terenzi andromeda","volume":"500"}]
Se describe con más detalle la salida de resultados en JSON en este artículo.
Configuraciones posibles
| Parámetro | Valor por defecto | Descripción |
|---|---|---|
| All cookies | Especificación de todas las cookies | |
| Cookie "__Secure-3PSID" | Cookie "__Secure-3PSID" | |
| Cookie "__Secure-3PSIDTS" | Cookie "__Secure-3PSIDTS" | |
| Header "x-framework-xsrf-token" | Encabezado "x-framework-xsrf-token" | |
| Url parameter "ocid"("uscid") | Parámetro "ocid"("uscid") | |
| Url parameter "authuser" | 0 | Parámetro "authuser" |
| E-mail para autorización en Keyword Planner | ||
| Password | Contraseña para autorización en Keyword Planner | |
| Recovery e-mail | E-mail para recuperación de acceso | |
| Browser headless (debug auth) | ☑ | Modo headless para el navegador utilizado en la autorización por usuario-contraseña |
| Log Login Screenshot (debug auth) | ☐ | Creación de una captura de pantalla de la página de autorización y salida al registro de la tarea |
| Date from | Last 12 months | Fecha desde |
| Date to | Last 12 months | Fecha hasta |
| Language | English | Idioma |
| Search networks | Google | Red de búsqueda |
| Currency | USD | Moneda |
| Location code | Ubicación (aquí debe indicar el id de la ubicación, puede obtenerlo de la primera columna de esta tabla (copia)) | |
| Query type | Keyword | Tipo de consulta |
| Exclude brand names in results | ☐ | Filtro de marcas |
| Exclude adult ideas | ☑ | Filtro de contenido para adultos |
| Bulk (packet) mode | ☐ | Activación del modo por lotes |