Сейчас ваша корзина пуста!
Задачка клиента ПАРСИНГа десятков тысяч товаров и как n8n помогает решить её

Парсинг как подзадача возник в очень сложной и интересной задачке, которую клиент уместил в несколько пунктиков, тут прям расшифровка, что происходит и что должно получаться:
1. Запрос от пользователя, менеджера организации приходит в виде спецификаций товаров (название, характеристики) в табличном виде (xls/doc, гугл док)

Приведенный пример на скриншоте говорит о том, что более точно на конкретном товаре спозиционирует описание в столбце Характеристики, а вот Наименование выглядит «бледно» для точного поиска.
2. Возврат подбора оборудования в табличном виде, в котором есть только продукция, имеющаяся в наличии в организации
Что клиент имеет ввиду:
а) если по названию скрипт-бот нашел товар из базы данных организации — подставляем его данные в ответ
б) если по названию скрипт-бот определил, что товара нет в базе данных организации -> скрипт-бот ищет в базе других поставщиков -> находит -> парсит характеристики -> по характеристикам ищет в базе конторы -> подставляет аналог запрашиваемому.
Задача парсинга сайтов у других поставщиков
Я полагаю, что этот парсинг как раз для того, чтобы менеджер сформировал у себя список товаров, которые он должен поставить клиенту, а в этом списке будет расписано, что есть на складе, а что надо будет закупить и где.
Есть два варианта поиска товара, которого нет в запасах организации:
- в интернете на сайтах коллег-конкурентов
- у себя в базе данных, предварительно спизж… спарсенной с сайтов коллег-конкурентов
Исходя из жизненного опыта ИТишника, склоняюсь, что для автоматизации всей этой задачи лучше пользовать способ 2.
Ныне эта задача решается влегкую, способом 1 ВРУЧНУЮ, и за это хозяин платит менеджеру в том числе. А хочет, чтобы большую часть поиска делалось автоматически.
И это правильно!
Однако автоматизация, на мой взгляд, лучше будет отрабатывать, когда ПРЕДВАРИТЕЛЬНО будет создана база для полнотекстового поиска. А не онлайн лазить по сайтам поставщиков, онлайн же разбирать все на лету и успеть это сделать для, например, 100 позиций за конечное небольшое время.
Представим: манагер запустит процесс для заказа из 500 позиций, и пойдет обедать, курить — придет, все готово…. или ошибка и вот блин, придется заново и так 50 раз в день.

Потому что парсить онлайн с сайта — такое себе, могут возникать ошибки. Особенно если есть защиты, особенно если надо быстро — по 500 позициям, и
МЕНЕДЖЕРОВ, которые занимаются такой работой не один, а ТРОЕ
Учет этих факторов заранее, исходя из жизненного опыта, который включает не только ИТ, но в целом небольшое познание бизнес-процессов в подобных конторах, приводит к решению 2:
Заранее, ночами темными, потихонечку спарсить базы коллег-конкурентов, подготовить их для нормального полнотекстового поиска. И, решив задачку таким макаром, удовлетворённо поржать над муйнёй, которая получается в случае у адептов всемогущего ЧАТ Гопоты. Не сможет он быстро, дешево обрабатывать такие массивы данных и заниматься онлайн-поиском в интернете по сайтам коллег чтобы всего то лишь найти наиболее подходящий по спецификации товар.
Стоимость работы у моделей искусственного интеллекта для обработки текста от ChatGPT и других поставщиков очень сильно зависит от объемов данных для анализа как на входе, так и на выходе. А у полнотекстового поиска стоимость равна стоимости аренды сервера с базой данных, главное все хорошо подготовить. Заранее.
И текущая моя работа по реализации парсинга, подготовки базы данных для полнотекстового поиска, хорошо так откушала времени, использовались навыки:
- Скрипт на javascript/puppeteer, для обхода защит
- SQL проектирование баз данных
- n8n программирование процессов
И прочие знания пригодились, линукс например, VPS, Docker и все такое связанное с этим.
Один из workflow, самый большой, для парсинга:

На текущий момент три workflow и один скрипт, на отдельном VPS:

И задача к серединке еще только подходит, сильно.
Прокомментировать в Телеграм: https://t.me/n8nhow
Подписаться на канал обучения n8n: https://t.me/n8ncoaching
