Уникализация результатов
Уникализация, дедупликация, удаление дублей, удаление повторов - все это подразумевает что нам не нужны повторяющиеся результаты. В A-Parser есть 2 метода уникализации, разберем подробно каждый.
Уникализация результатов по строке
Данный метод работает после формирования результата, непосредственно перед записью результата в файл каждая строка проверяется на уникальность и в файл записываются только новые уникальные строки.
Смотреть также: Порядок обработки запросов
Включить уникальность по строке можно в Быстром задании:

Или в Редакторе заданий:

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

Теперь можно выбрать на каком результате делать уникализацию и тип уникализации:

Переключатель Глобально используется когда выбрано 2 или более парсера, она определяет делать общую уникализацию или по каждому парсеру отдельно.
Типы уникализации
Параметр | Описание |
---|---|
Строка | Уникализация по строке (сравнивается целиком вся строка результата) |
Домен | Уникализация по домену (сравнивается целиком домен, например www.domain.com и domain.com это разные домены) |
Домен верхнего уровня | Уникализация по главному домену с учетом региональных, коммерческих, образовательных и прочих доменов (например domain.co.uk и domain2.co.uk это разные домены, а sub1.domain.com и sub2.domain.com - одинаковые) |
Домен 2го уровня | Уникализация по домену 2ого уровня (сравниваются домены второго уровня, например www.domain.com, domain.com и user.subdomain.domain.com это все один домен) |
Путь | Уникализация по пути (сравниваются части ссылки до файла, например http://domain.com/path1/file.php и http://domain.com/path1/file2.php - одинаковые части ссылки до файла) |
Без параметров | Уникализация по ссылке без параметров (сравниваются ссылки без параметров, например http://domain.com/file.php?page=1 и http://domain.com/file.php?page=2 - одинаковые ссылки) |
Уникализация запросов
Уникализация запросов отправляет непосредственно на парсинг только уникальные запросы, ранее не отпаршенные в текущем задании. Основные варианты использования:
- Если в исходных запросах есть дубликаты и их нежелательно парсить (двойная работа)
- При использовании опции Парсить до уровня необходимо использование только уникальных запросов чтобы предотвратить разрастание и зацикливание запросов (например при использовании парсера
HTML::LinkExtractor)
Во всех других случаях ненужное использовании уникализации запросов лишь замедлит общую работу парсера
Сохранение уникализации между заданиями
Существует возможность сохранять базу уникализации, для использования в будущих заданиях, что позволяет в новых заданиях сохранять только новые уникальные результаты (например ссылки при парсинге серпа в SE::Google)
Для сохранения базы уникализации необходимо при добавлении первого задания создать новое имя базы:

Для всех последующих заданий необходимо выбирать ранее созданное имя базы, тем самым будут сохраняться только новые уникальные результаты, независимо от того идет ли запись результатов в тот же файл что и в первом задании или же в новый файл.