Отсеивание значений из черного списка

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

Важно: Требования к исходному значению поля

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

Важно: Требования к настройке поля

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

Стоимость плагина составляет 10$. Ссылка на загрузку плагина предоставляется по запросу.

Импорт плагина в Datacol

Импорт плагинов в программу подробно описан в справке (доступной из интерфейса программы):

Подключение плагина к настройке

Плагин D5Plugin_BlacklistFilterPlugin подключается в качестве плагина для обработки значения поля. Плагин может подключаться одновременно к нескольким полям данных.

Конфигурация плагина D5Plugin_BlacklistFilterPlugin задается в соответствующей настройке.

В конфигурации задаются следующие параметры:

  • blacklist-path — Путь к файлу с черным списком. Если значение пустое, то по умолчанию файл должен находиться в папке Мои документы и называться blacklist.txt.
  • regex — Флаг, уточняющий нужно ли интерпретировать строки из файла с черным списком как регулярные выражения. Если флаг равен 1, строки обрабатываются как регулярные выражения. Таким образом, сравнение со значением спарсенного поля происходит по правилам, актуальным для регулярных выражений. Если флаг равен 0, то происходит обычный поиск подстроки в спарсенном значении.

    Например, спарсенное значение поля: 80942929923. Допустим, в файле с черным списком присуствует строка 8.*?2929923. Если regex=1, то строка совпадет со значением поля, и плагин на выходе вернет пустое значение (поскольку группа данных должна быть отсеяна как содержащая значение из черного списка).

    Хотя зачастую результат работы с regex=1 и regex=0 совпадают. Например если для вышеописанного примера одна из строк в файле с черным списком выглядит как 929923, то вне зависимости от значения regex плагин на выходе вернет пустое значение.

Пример строки конфигурации:

<dc5par type="string" name="blacklist-path"></dc5par>
<dc5par type="int" name="regex">1</dc5par>