Как известно, для фильтрации в А-Парсере используется встроенный функционал фильтров. Но бывают ситуации, когда список признаков, наличие которых нужно проверять, очень большой и его сложно вписать в строку стандартного фильтра.
- Минимальная версия A-Parser:
- 1.2.1794
Начиная с версии 1.2.127 в A-Parser добавлена поддержка модулей Node.js. Благодаря этому появилась возможность читать список признаков из файла и использовать его для проверки страниц.
Возможности
Особенности
- Удаление дублей из списка признаков
- 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/
-
Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!Скрыть объявление
Фильтрация по множеству признаков 2.0.0
Пример фильтрации страниц по большому количеству признаков
Последние обнoвления
- Обновление 2.0.0 13 мар 2023