Ir al contenido principal

Filtros de resultados

En A-Parser existe la posibilidad de filtrar los resultados mediante un conjunto de reglas determinadas y guardar en el resultado solo los datos necesarios.

Uso de la filtración

Principales casos de aplicación:

  • Guardar solo aquellos enlaces que contengan una coincidencia de cadena específica (por ejemplo, un indicio de CMS)
  • Filtrar una base de dominios por parámetros determinados (por ejemplo, Yandex IKS superior a 300, idioma RU)
  • Verificar la respuesta del servidor (por ejemplo, 200 OK o la presencia de ciertos encabezados)
  • Comprobar la presencia del consulta original en el fragmento (snippet)
  • Cualquier otro caso de aplicación donde se requiera limitar los resultados bajo condiciones específicas

Los filtros se pueden añadir en el Editor de tareas, haciendo clic en el icono de la herramienta frente al extractor necesario:

Opción Filtro en el Editor de tareas

Tipos de filtración

Se pueden filtrar tanto resultados individuales como matrices de resultados. Existen varios tipos de filtros:

  • Por igualdad o desigualdad de cadenas
  • Por presencia o ausencia de una subcadena
  • Por coincidencia o no coincidencia con una expresión regular
  • Los valores numéricos se pueden filtrar por mayor que, menor que e igualdad
sugerencia

Características de funcionamiento

  • Al filtrar matrices de resultados, en la matriz solo permanecen los resultados que cumplen con el filtro
  • Al filtrar resultados simples, si el resultado no cumple con el filtro, el resultado para dicha consulta se omite por completo, incluso cuando se utilizan varios extractores
  • Al utilizar dos o más filtros en una tarea, se aplica el operador lógico Y entre ellos; en otras palabras, el resultado se guardará si cumple con las condiciones de todos los filtros simultáneamente
  • Al comparar en el campo de especificación de valor (cadena, expresión regular o valor numérico), se puede utilizar el motor de plantillas Template Toolkit, estando disponibles todas las variables análogas al Formato general de resultados

Ejemplos

Filtración por texto en la página

Comprobación de una base de sitios para encontrar un texto específico en la página
Como consultas utilizamos un archivo con enlaces, y como resultado obtenemos un archivo filtrado con los enlaces donde se encuentra el texto buscado.

Utilizamos el extractor Net::HTTPNet::HTTP para descargar la página buscada, guardando en el resultado la consulta (el enlace que estamos comprobando). Filtramos el resultado $data - contenido de la página descargada, establecemos el tipo de filtro Contiene la cadena e indicamos la cadena misma:

Ejemplo de filtración por texto en la página

Filtración de imágenes por tamaño

Filtración de imágenes por resolución
Filtramos la altura y el ancho de la imagen al realizar la extracción de datos a través de SE::Google::ImagesSE::Google::Images, guardando solo aquellas imágenes que sean mayores de 500x500 píxeles:

Ejemplo de filtración de imágenes por tamaño

Filtración por varios criterios

Filtración de enlaces por la presencia de cualquiera de varias cadenas diferentes
Para filtrar enlaces por varias cadenas diferentes, utilizaremos la posibilidad de especificar expresiones regulares; para ello, escribimos varios criterios a través de un delimitador:

showthread\.php
/forum/
viewtopic\.php\?t=
nota

Tenga en cuenta que las expresiones regulares requieren escapar una serie de caracteres

Ejemplo de filtración por varios criterios

Uso de la consulta en el filtro

Guardar fragmentos de Google que contengan la consulta original
Como cadena para comparar, indicamos explícitamente [% query %], la variable que contiene la consulta, y seleccionamos Distinguir mayúsculas y minúsculas para buscar la subcadena respetando el registro de caracteres:

Ejemplo de uso de una consulta en el filtro