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

Пример фильтрации страниц по большому количеству признаков

  1. Support
    Минимальная версия A-Parser:
    1.2.138
    Как известно, для фильтрации в А-Парсере используется встроенный функционал фильтров. Но бывают ситуации, когда список признаков, наличие которых нужно проверять, очень большой и его сложно вписать в строку стандартного фильтра.

    Начиная с версии 1.2.127 в A-Parser добавлена поддержка модулей Node.js. Благодаря этому появилась возможность читать список признаков из файла и использовать его для проверки страниц.

    [​IMG]

    Возможности
    • Удаление дублей из списка признаков
    • 2 типа признаков: строки или регулярные выражения
    • Эмуляция заголовков браузера
    • Вывод полного списка всех найденных на странице признаков (можно использовать для оптимизации: если в результат выводятся все найденные признаки, то на каждой странице парсер проверяет весь список признаков, иначе только до первого вхождения)
    Особенности
    • Для чтения файла используется модуль fs
    • Используется мютекс для однократного чтения списка признаков и "расшаривания" его для всех потоков
    • Для облегчения понимания, код парсера снабжен подробными комментариями
    Возможные настройки
    • Unique signatures - уникализация списка признаков
    • Ignore case - игнорировать регистр
    • Emulate browser headers - эмулировать заголовки браузера
    • User-Agent - юзерагент
    • Type of signatures - тип признаков в файле, возможные значения:
      • String - строки
      • Regular expressions - регулярные выражения
    • File with signatures - файл с признаками и путь к нему
    В качестве запросов необходимо указывать ссылки.
    В результат по-умолчанию будет выведена каждая ссылка, результат нахождения признаков (0 - не найдено, 1 - найдено) и список найденных признаков.
    Список признаков по умолчанию необходимо разместить в каталоге А-Парсера по пути files/example/multifilter/signatures.txt, в формате один признак на строку. Кодировка - UTF-8. Если признаки в виде регулярных выражений, то необходимо соблюдать стандарт для JavaScript. При этом регулярные выражения не нужно ограничивать слешами, а также не нужно указывать флаги.

    P.S. Данный пример также можно использовать для решения этой задачи: https://a-parser.com/threads/2995/