Фильтры результатов | Документация | A-Parser - парсер для SEO, маркетинга, разработчиков и SaaS
Перейти к основному содержимому

Фильтры результатов

В A-Parser'е существует возможность фильтровать результаты по набору определенных правил и сохранять в результат только необходимые данные.

Использование фильтрации

Основные варианты применения:

  • Сохранение только тех ссылок, которые содержат определенное вхождение строки(например признак CMS)
  • Фильтрация базы доменов по определенным параметрам(например Яндекс ИКС от 300, Alexa до 100000, язык RU)
  • Проверка ответа от сервера(например 200 OK или содержание определенных заголовков)
  • Проверка нахождения в сниппете исходного запроса
  • Любые другие варианты применения где требуется ограничить результаты по определенным условиям

Фильтры можно добавить в Редакторе заданий, кликнув по иконке с инструментом напротив необходимого парсера: опция Фильтр в Редакторе заданий

Типы фильтрации

Фильтровать можно как одиночные результаты так и массивы результатов(Представление результатов), существует несколько типов фильтров:

  • По равности или неравности строк
  • По вхождению или отсутствию вхождения подстроки
  • По соответствию или не соответствию регулярному выражению
  • Числовые значения можно фильтровать по больше, меньше и равенству

Особенности работы

  • При фильтровании массивов результатов, в массиве остаются результаты только подпадающие под фильтр
  • При фильтровании простых результатов, если результат не подпадает под фильтр, то результат для данного запроса целиком пропускается, в т.ч. при использовании нескольких парсеров
  • При использовании двух и более фильтров в задании между ними применяется логическое И, другими словами результат сохранится если будет подпадать под условия всех фильтров одновременно
  • При сравнении в поле указания значения(строки, регулярного выражения или числового значения) можно использовать шаблонизатор Template Toolkit, доступны все переменные аналогичные для Общего формата результатов

Примеры

Фильтрация по тексту на странице

Проверка базы сайтов на нахождение определенного текста на странице.

В качестве запросов используем файл с ссылками, в результате получаем файл с ссылками, где встречается искомый текст

Используем парсер Net::HTTPNet::HTTP для скачивания искомой страницы, в результат сохраняем запрос(ссылку которую проверяем). Фильтруем результат $data - контент скачанной страницы, тип фильтра Contain string(содержит строку) и указываем саму строку:

Пример фильтрации по тексту на странице

Фильтрация картинок по размеру

Фильтрация картинок по разрешению.

Фильтруем высоту и ширину картинки при парсинге через SE::Google::ImagesSE::Google::Images, сохраняем только те картинки которые больше 500х500 пикселей:

Пример фильтрации картинок по размеру

Фильтрация по нескольким признакам

Фильтрация ссылок по вхождению любой из нескольких разных строк.

Для фильтрации ссылок по нескольким разным строкам воспользуемся возможностью указывать регулярные выражения, для этого запишем несколько признаков через разделитель:

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

Обратите внимание что регулярные выражения требуют экранировать ряд символов

Пример фильтрации по нескольким признакам

Фильтрация по определённому параметру

Сохранение сайтов с определённым Alexa Rank.

Сохраняем только сайты с Alexa Rank больше 100:

Пример фильтрации по определённому параметру

Использование запроса в фильтре

Сохранение сниппетов Google в которых содержится исходный запрос.

В качестве строки для сравнения явно указываем [% query %] - переменную которая содержит запрос, выбираем Учитывать регистр(Sensitive) для поиска подстроки с учетом регистра символов:

Использование запроса в фильтре