Client Parser

#python #flask #node.js #backend

Очень интересная задача. Это продолжение работ по парсингу с одним из клиентов.

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

Парсер

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

Определенная часть кода была переработана и сделано разветвление логики, в зависимости от типа оператора по ссылке.

Для загрузки файла был добавлен аплоадер на основе Axios. В связи загрузки так же надо было проверять, есть ли такой файл уже на сервере и не тратить ресурс на парсинг, а просто брать уже имеющуюся информацию.

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

Добавлен и переработан консольный интерфейс.

Для обычного офиссного пользователя были добавлены Exe-шник для простой установки и запуска.

Сервер

Стоял выбор на чем писать на Node.js или Python. Я решил попробовать питон. Сервер предполагался небольшой и не сильно сложный. Поэтому я выбрал фреймворк Flask. Сервер принимал получаемые фото, создавал уникальный хэш и сохранял на диске в базу данных. Скрипт получился небольшой всего на 5ть экшенов.

Flask был задеплоен на VDS при помощи gunicorn и прокси сервера на Nginx.

Posted in backend, flask, interesting, node.js, python on Sep 07, 2021.