Бот для парсінг і автоматичної зміни цін в Kaspi
Бот після додавання облікового запису з каспи магазину параситує поточні товари продавця.Після цього користувач може включити/відключити автоматичний парсінг.Бот, переходить на сторінку товарів продавця і ставить міста зазначені в особистому кабінеті, і порівнює ціну у конкурента і у користувача.Бот буде намагатися тримати встановлений інтервал від мінімальної ціни конкурента, але не буде відпускати нижче зазначеної мінімальної ціни.Кожен користувач має свій власний XML-документ, в якому вносяться зміни цін.Посилання на цей xml документ повинно вказуватися в особистому кабінеті xml, що дозволяє змінювати ціни автоматично, без участі користувача!Що під капотом: Завдяки динамічному перевантаженню сторінок каспі, довелося використовувати headless-browser, а саме модуль symfony/panther.Парсер імітує живого людини: відкриває браузер, заходить на сайт, чекає, натискає і т.д.Кожен такий процес утворює рядки.Всього тут 4 типи чередів і 6 воркерів.Додавання товарів магазину, генерація xml документа та додавання магазину каспи мають по одному воркеру, а парсинг продуктів і їх порівняння має 3 паралельних воркерів.Для чередів і воркерів був використаний наглядник.Сама костка сервісу зроблена на laravel, як БД використовується mysql, а верстка на bootstrap.#PHP #laravel #Веб-розробка #Парсінг #xml #Multithreading