Ir al contenido principal

Formateo de consultas

Query format (Formato de consulta) - permite añadir sustituciones y formatear la consulta al tipo deseado utilizando plantillas, se aplica a cada consulta.

Formatos de consultas

Ejemplo de formatos de consultas
  1. Formato de consulta para el 1er extractor
  2. Formato de consulta para el 2do extractor
  3. Formato de consultas general

Existen 2 formas de especificar una plantilla:

  • Formato de consultas general, se procesa primero y admite sustituciones
  • Formato de consulta para cada extractor - permite establecer un formato específico para extractores individuales

Analicemos el ejemplo de la captura de pantalla, supongamos que como consultas utilizamos un archivo con una lista de dominios de este tipo:

google.com  
a-parser.com
yandex.ru

El formato de consulta general está configurado como:

http://$query

Antes de cada consulta original (dominio) se insertará la cadena http://, la consulta se transformará de google.com -> http://google.com

El formato de consulta para el 1er extractor permanece sin cambios, extraerá la consulta http://google.com

El formato de consulta para el 2do extractor se ve de la siguiente manera:

site:$query

La consulta para este extractor se transformará: http://google.com -> site:http://google.com

Plantillas en las consultas

En el formato de consulta se admite plenamente el motor de plantillas Template Toolkit, como variables están disponibles:

Macros de sustitución

El Formato de consulta general admite las siguientes macros:

MacroDescripciónEjemplos
{az:START:END}Sustitución de una secuencia alfanumérica. En lugar de START se indica el inicio de la secuencia, en lugar de END, el final. La longitud de END debe ser mayor o igual a la longitud de START. Los caracteres al final de la secuencia END deben estar después (en orden alfabético) de los caracteres al inicio de la secuencia START. Se pueden utilizar cualquier secuencia de caracteres UTF-8{az:a:z} - sustitución de todos los caracteres de la a a la z (a, b, c, ..., x, z). {az:aaa:zzz} - sustitución de todos los caracteres de aaa a zzz (aaa, aab, aac, ..., zzx, zzz). {az:a:zz} - sustitución de todos los caracteres de a a zz (a, b, c, ... aa, ab, ..., zx, zz). {az:00:99} - sustitución de todos los números del 00 al 99 (00, 01, 02, ..., 98, 99). {az:а:яяя} - sustitución de todos los caracteres cirílicos de la а a la яяя (а, б, ... аа, аб, ... яяю, яяя)
{each:WORD1,WORD2,...}Sustitución de las palabras indicadas WORD1, WORD2, etc., la longitud no está limitada{each:green,blue,red,black} - sustitución de las palabras green, blue, red, black. {each:,buy,sell} - sustitución de una palabra vacía, luego buy y sell
{subs:NAME}Sustitución de palabras adicionales de archivos en la carpeta queries/subs/. En lugar de NAME es necesario indicar el nombre del archivo, sin la extensión .txt{subs:zones} - sustitución de todas las líneas del archivo queries/subs/zones.txt
{num:START:END}La macro recorre los números en el rango indicado. En lugar de START se indica el inicio del intervalo, en lugar de END, el final. Se admiten números decimales.{num:1:1000} - sustitución de todos los números del 1 al 1000 (1, 2, 3 ..., 999, 1000)
{num:START:END:STEP}La macro recorre los números en el rango indicado, con el paso especificado. En lugar de START se indica el inicio del intervalo, en lugar de END, el final, en lugar de STEP, el paso. Se admiten números decimales.{num:0:1000:10} - sustitución de todos los números del 0 al 1000 con un paso de 10 (0, 10, 20 ..., 990, 1000)
{num:END:START}La macro recorre los números en el rango indicado en orden inverso. En lugar de END se indica el final del intervalo, START indica el inicio del intervalo. Se admiten números decimales.{num:1000:1} - sustitución de todos los números del 1000 al 1 (1000, 999, 998, ..., 2, 1)
{num:END:START:STEP}La macro recorre los números en el rango indicado en orden inverso, con el paso especificado. En lugar de END se indica el final del intervalo, START indica el inicio del intervalo, en lugar de STEP, el paso. Se admiten números decimales.{num:1000:1:10} - sustitución de todos los números del 1000 al 1 con un paso de 10 (1000, 990, 980, ..., 10, 1)

⏩ Video: Macros de sustitución

En este video se analiza:

  • macro {num} en ejemplos de navegación por páginas y recorrido de coordenadas en el extractor Maps::GoogleMaps::Google
  • la macro {az} con el ejemplo de extracción con inurl: para aumentar el número de consultas y, por consiguiente, de resultados
  • la macro {each} con el ejemplo de extracción de sugerencias para generar combinaciones de palabras

Combinación de macros de sustitución

Las macros de sustitución se pueden combinar. Ejemplo complejo:

$query site:{subs:zones} {az:aa:zz}

Supongamos que una de las consultas para la extracción fue viagra, y en el archivo queries/subs/zones.txt se encuentra la siguiente lista de zonas: com, net, org, entonces para la extracción se procesará el siguiente conjunto de combinaciones:

viagra site:com ab  
...
viagra site:net jj
...
viagra site:eek.rg zz

El número total de consultas corresponderá a la multiplicación de las combinaciones posibles:

1 consulta (viagra) x 3 zonas ({subs:zones}) x 676 variaciones de caracteres ({az:aa:zz}) = 2028 consultas