Когда уже 10 минут пытаешься выбрать самое полезное печенье
Когда уже 10 минут пытаешься выбрать самое полезное печенье

Привет, Хабр!

На новогодних праздниках у меня возникло желание сделать что-то полезное. Как человек, недавно начавший увлекаться здоровым питанием и ходить в тренажерный зал, я столкнулся с проблемой исправления своих неправильных пищевых привычек. Булочка на завтрак, сладкий десерт в качестве снэка, готовая еда сомнительного качества - тело не могло не отреагировать на такие издевательства, и в течение последних лет медленно, но верно набирало вес.

Оказалось, найти в сетевых магазинах подходящие продукты не так уж и просто. Замучавшись выискивать на полке с готовой едой самое высокобелковое блюдо, я задался вопросом - а можно ли упростить этот процесс? В процессе размышления я пришел к идее сделать справочник продуктов из сетевых магазинов с продвинутыми сортировками и фильтрацией.

Для MVP был выбран каталог сети Вкусвилл, как позиционирующей себя для здорового питания. Я написал простой скрипт на Python с использованием Selenium, который ходил по онлайн-каталогу этой сети и парсил в JSON данные о БЖУ, калориях и цене продуктов. Каталог никак не препятствовал автоматическому обходу, и уже через пару часов у меня были готовы JSON-чики для нескольких категорий товаров.

Далее я вооружился Vue и Nuxt.JS с UI-библиотекой PrimeVue, и создал веб-интерфейс для просмотра данных. Из PrimeVue я использовал компонент таблицы с уже реализованными сортировками - удобно! Благодаря Nuxt.JS, сайт получился статическим, и я захостил его на Guthub Pages. Благодаря вёрстве на флексбоксах, сайт адаптивен и удобен даже с телефона.

Текущий UI
Текущий UI

В первой версии можно сортировать таблицу, выбирая низкоуглеводные, высокобелковые, низкокалорийные продукты - что больше подходит под ваш стиль питания. Например, вы любите сладости, но хотите придерживаться низкоуглеводной диеты. Отсортируйте таблицу "Сладости" по возрастанию столбца "Углеводы", и увидите, что в протеиновом брауни всего лишь 7г. углеводов,. А самой низкокалорийной сладостью будет веганский десерт "Ананасовый" - всего 165 ккал! Также есть раздел с вегетарианским питанием.

В планах добавить более сложные фильтры (например, ограничение по цене). Сейчас база данных составлена из каталога Вкусвилл для Петербурга. В будущем возможно выкачаю всероссийский каталог. На более позднем этапе развития возможно добавление каталогов других сетей.

Исходный код проекта на GitHub

С Новым Годом!

Комментарии (9)


  1. Abobcum
    02.01.2024 14:48
    +4

    С Новым Годом!

    Оказалось, найти в сетевых магазинах подходящие продукты не так уж и просто.

    Проще и дешевле, чем вы думаете. Но придётся научиться готовить... Или купить протеиновый порошок.


    1. boriswinner Автор
      02.01.2024 14:48

      Здравствуйте! Я согласен с вами, что для многих категорий найти что-то подходящее несложно. Но есть и антипримеры. Например, колбаса: в разных колбасах очень сильно (в разы) отличается количество белка, и в магазине может быть большой ассортимент колбас (десятки наименований). Или сладости: среди сладостей мало наименований с низким содержанием углеводов :)


      1. Markscheider
        02.01.2024 14:48
        +2

        в разных колбасах очень сильно (в разы) отличается количество белка

        Я для себя этот вопрос решил просто. Объявил колбасу (как и прочие продукты из мяса глубокой переработки) однозначным злом. Чем такая еда, собственно, и является.

        Если очень хочется чего-то мясного положить на бутер - приготовьте ростбиф. А если (как и я) стараетесь красного мяса избегать - примерно тоже самое можно сделать из куры/индейки.

        Опять же, сыры, рыбные и морепродукты - тоже на бутерброды годится...


        1. Markscheider
          02.01.2024 14:48

          Немного добавлю пруфов, а то мои слова могут выглядеть как мантра упоротого зожника (про "трупный яд в мясе", "туалетную бумагу в колбасе" и пр.).

          Дело не в отсутствии или неисполнении ТУ. Колбаса и иже с ней по дефолту вредны. Даже если туда не добавлять неуставное. Красное мясо - картина сходная. Главный риск - онкология кишечника.

          Вот первое, что попалось под руку, остальное на pubned.

          https://www.who.int/news-room/questions-and-answers/item/cancer-carcinogenicity-of-the-consumption-of-red-meat-and-processed-meat


      1. Abobcum
        02.01.2024 14:48
        -1

        Хочу поделиться своим опытом.

        Я проверил множество врачей и сдал около 20 анализов, чтобы выяснить состав колбас, сладостей, печенья и т.п. К несчастью, абсолютно все продукты из этих категорий являются химическим коктейлем из никому неизвестных веществ. Такие продукты несовместимы со здоровьем и оказывают исключительно отравляющее действие на организм.

        Такое происходит потому, что государство никак не регулирует добавки. Поэтому производитель может взять 10 грамм мяса и 990 грамм биопластелина, добавить туда ароматизатор и получить 1 кг абсолютно легальной колбасы.


        1. boriswinner Автор
          02.01.2024 14:48
          +1

          А можете подробнее описать свой опыт проверки? Звучит как материал на интересную статью


  1. Senf
    02.01.2024 14:48
    +1

    Хорошая задумка для тех кто захочет похудеть после праздников


  1. edogs
    02.01.2024 14:48
    +1

    Для MVP был выбран каталог сети Вкусвилл, как позиционирующей себя для здорового питания. Я написал простой скрипт на Python с использованием Selenium, который ходил по онлайн-каталогу этой сети и парсил в JSON данные о БЖУ, калориях и цене продуктов.

    Единственное, что не стоит слепо полагаться на данные о БЖУ. Пару раз в комментариях у вкусвилла спрашивали про точность данных из каталога (ака с этикетки), они в ответ прикладывали тест который они сами делали (не знаем для всех продуктов делают или как), так вот расхождение данных с этикетки с данными теста - было весьма ощутимым.
    И это у них еще можно хотя бы данные уточнить, а если глянуть тесты "стандартных" продуктов от росконтроля, то видно что и в них расхождения встречаются огромные.
    Как ориентир - использовать можно, но с точки зрения точных вычислений, учитывая что погрешность огромная (жира может на 60% меньше оказаться например), это чисто культ карго.


  1. bolk
    02.01.2024 14:48

    И каковы же вилы на вкус?