Filtros de resultados
No A-Parser existe a possibilidade de filtrar resultados por um conjunto de regras específicas e salvar no resultado apenas os dados necessários.
Uso da filtragem
Principais casos de uso:
- Salvar apenas os links que contêm uma determinada ocorrência de string (por exemplo, um sinal de CMS)
- Filtrar uma base de domínios por parâmetros específicos (por exemplo, Yandex IKS a partir de 300, idioma RU)
- Verificar a resposta do servidor (por exemplo, 200 OK ou a presença de determinados cabeçalhos)
- Verificar a presença do consulta original no snippet
- Quaisquer outros casos de uso onde seja necessário limitar os resultados por condições específicas
Os filtros podem ser adicionados no Editor de Tarefas, clicando no ícone de ferramenta ao lado do scraper necessário:

Tipos de filtragem
É possível filtrar tanto resultados individuais quanto arrays de resultados. Existem vários tipos de filtros:
- Por igualdade ou desigualdade de strings
- Por presença ou ausência de uma substring
- Por correspondência ou não correspondência a uma expressão regular
- Valores numéricos podem ser filtrados por maior, menor e igualdade
Veja também: Visualização de resultados
Características de funcionamento
- Ao filtrar arrays de resultados, permanecem no array apenas os resultados que atendem ao filtro
- Ao filtrar resultados simples, se o resultado não atender ao filtro, o resultado para esta consulta é totalmente descartado, inclusive ao usar múltiplos scrapers
- Ao usar dois ou mais filtros em uma tarefa, aplica-se o operador lógico E entre eles; em outras palavras, o resultado será salvo se atender às condições de todos os filtros simultaneamente
- Ao comparar no campo de especificação de valor (string, expressão regular ou valor numérico), é possível usar o mecanismo de modelos Template Toolkit, estando disponíveis todas as variáveis análogas ao Formato geral de resultados
Exemplos
Filtragem por texto na página
Verificação de uma base de sites para encontrar um texto específico na página
Como consultas, usamos um arquivo com links; como resultado, obtemos um arquivo filtrado com os links onde o texto pesquisado foi encontrado.
Usamos o scraper
Net::HTTP para baixar a página desejada, como resultado salvamos a consulta (o link que estamos verificando). Filtramos o resultado $data - conteúdo da página baixada, definimos o tipo de filtro Contain string e indicamos a própria string:

Filtragem de imagens por tamanho
Filtragem de imagens por resolução
Filtramos a altura e a largura da imagem durante a extração de dados via
SE::Google::Images, salvando apenas as imagens que são maiores que 500x500 pixels:

Filtragem por múltiplos critérios
Filtragem de links pela ocorrência de qualquer uma de várias strings diferentes
Para filtrar links por várias strings diferentes, utilizaremos a possibilidade de especificar expressões regulares, escrevendo vários critérios através de um delimitador:
showthread\.php
/forum/
viewtopic\.php\?t=
Observe que as expressões regulares exigem o escape de uma série de caracteres

Uso da consulta no filtro
Salvando snippets do Google que contêm a consulta original
Como string para comparação, indicamos explicitamente [% query %] - a variável que contém a consulta, e selecionamos Sensitive para buscar a substring respeitando a caixa dos caracteres:
