Проект разрабатывался для B2C рынка.
При покупке косметики необходимо сравнивать множество сайтов, поиск по которым неудобен.
Агрегировать все цены на косметику в одном месте.
Приложение для бизнес-проекта в формате стартапа.
Идея в том, что пользователи будут делать запросы в приложение, и сравнивать цены на нужные айтемы косметики в удобном для них формате.
В рамках решения первой задачи были написаны пять парсеров под каждый из сайтов. Для первичного тестирования сайтов и приложений использовался fiddler, цель - перехватить и дшифровать трафик, чтобы найти запросы к пользовательскому api и использовать их при парсинге. Анализировался трафик с телефона на android, из мобильных версий сайтов и приложений.
По итогу у одной компании получилось дешифровать полностью api, перехватив трафик из приложения, у трех других - частично, перехватив и дешифровав трафик обращения к сайту, у одной из них потребовалось автоматизировать получение куки через браузер с рандомной сменой прокси.
У одного из сайтов полностью не получилось дешифровать трафик, так что был написан классический парсер html-страниц.
Парсеры оркестрируются скриптом python, запускаются по очереди раз в неделю. Среднее время парсинга - около часа.
Далее парсеры создают временные файлы json, которые уже перекладываются в БД на SQL.
К БД делают обращения скрипты, зашитые в fast-api, после чего обращающийся получает данные выгрузки.
Из текущих проблем на этом этапе - выяснилось, что в рамках работы с агрегатором пользователю также требуется продвинутый поиск, чтобы сформировать себе выгрузку, для чего не подходят стандартные функции SQL. Также еще одна проблема - SQL плохо обрабатывает кириллицу, и для неё требуются костыли, что выбивается из принципа поддержания простоты.
Далее был написан в качестве форонт-енда бот в ТГ: https://t.me/beauty_info_bot
Написан на библиотеке requests, сканирует новые полученные сообщения, делает запросы в fast-api, после чего агрегирует данные для пользователя в удобный для восприятия вид, и высылает пользователю
На данный момент бот в тестировании и включается по запросу.
Таким образом была написана вся архитектура проекта и все необходимые функции, тем не менее для коммерческого старта требуются небольшие доработки.
На данный момент проводятся исследования аудитории со стороны коммуникационной команды.
Дальнейшие доработки:
1. Оптимизация одного из парсеров, в котором используется браузер для получения куки. Браузер слишком нагружает сервер.
2. Переход на улучшенный поисковый движок.
По всем вопросам можно обращаться в Телеграм.