Навигация по сайту

Beauty_parser - веб скрейпинг, дата-майнинг информации о косметике

Проект разрабатывался для B2C рынка.


Боль

При покупке косметики необходимо сравнивать множество сайтов, поиск по которым неудобен.


Цель

Агрегировать все цены на косметику в одном месте.


Задачи


Описание

Приложение для бизнес-проекта в формате стартапа.

Идея в том, что пользователи будут делать запросы в приложение, и сравнивать цены на нужные айтемы косметики в удобном для них формате.


Решение

В рамках решения первой задачи были написаны пять парсеров под каждый из сайтов. Для первичного тестирования сайтов и приложений использовался fiddler, цель - перехватить и дшифровать трафик, чтобы найти запросы к пользовательскому api и использовать их при парсинге. Анализировался трафик с телефона на android, из мобильных версий сайтов и приложений. 

По итогу у одной компании получилось дешифровать полностью api, перехватив трафик из приложения, у трех других - частично, перехватив и дешифровав трафик обращения к сайту, у одной из них потребовалось автоматизировать получение куки через браузер с рандомной сменой прокси. 
У одного из сайтов полностью не получилось дешифровать трафик, так что был написан классический парсер html-страниц.

Парсеры оркестрируются скриптом python, запускаются по очереди раз в неделю. Среднее время парсинга - около часа.
Далее парсеры создают временные файлы json, которые уже перекладываются в БД на SQL.
К БД делают обращения скрипты, зашитые в fast-api, после чего обращающийся получает данные выгрузки.

Из текущих проблем на этом этапе - выяснилось, что в рамках работы с агрегатором пользователю также требуется продвинутый поиск, чтобы сформировать себе выгрузку, для чего не подходят стандартные функции SQL. Также еще одна проблема - SQL плохо обрабатывает кириллицу, и для неё требуются костыли, что выбивается из принципа поддержания простоты.

Далее был написан в качестве форонт-енда бот в ТГ: https://t.me/beauty_info_bot

Написан на библиотеке requests, сканирует новые полученные сообщения, делает запросы в fast-api, после чего агрегирует данные для пользователя в удобный для восприятия вид, и высылает пользователю
На данный момент бот в тестировании и включается по запросу.

Таким образом была написана вся архитектура проекта и все необходимые функции, тем не менее для коммерческого старта требуются небольшие доработки.
На данный момент проводятся исследования аудитории со стороны коммуникационной команды.

Дальнейшие доработки:
1. Оптимизация одного из парсеров, в котором используется браузер для получения куки. Браузер слишком нагружает сервер.
2. Переход на улучшенный поисковый движок.


По всем вопросам можно обращаться в Телеграм.