Привет, Хабр!
На новогодних праздниках у меня возникло желание сделать что-то полезное. Как человек, недавно начавший увлекаться здоровым питанием и ходить в тренажерный зал, я столкнулся с проблемой исправления своих неправильных пищевых привычек. Булочка на завтрак, сладкий десерт в качестве снэка, готовая еда сомнительного качества - тело не могло не отреагировать на такие издевательства, и в течение последних лет медленно, но верно набирало вес.
Оказалось, найти в сетевых магазинах подходящие продукты не так уж и просто. Замучавшись выискивать на полке с готовой едой самое высокобелковое блюдо, я задался вопросом - а можно ли упростить этот процесс? В процессе размышления я пришел к идее сделать справочник продуктов из сетевых магазинов с продвинутыми сортировками и фильтрацией.
Для MVP был выбран каталог сети Вкусвилл, как позиционирующей себя для здорового питания. Я написал простой скрипт на Python с использованием Selenium, который ходил по онлайн-каталогу этой сети и парсил в JSON данные о БЖУ, калориях и цене продуктов. Каталог никак не препятствовал автоматическому обходу, и уже через пару часов у меня были готовы JSON-чики для нескольких категорий товаров.
Далее я вооружился Vue и Nuxt.JS с UI-библиотекой PrimeVue, и создал веб-интерфейс для просмотра данных. Из PrimeVue я использовал компонент таблицы с уже реализованными сортировками - удобно! Благодаря Nuxt.JS, сайт получился статическим, и я захостил его на Guthub Pages. Благодаря вёрстве на флексбоксах, сайт адаптивен и удобен даже с телефона.
В первой версии можно сортировать таблицу, выбирая низкоуглеводные, высокобелковые, низкокалорийные продукты - что больше подходит под ваш стиль питания. Например, вы любите сладости, но хотите придерживаться низкоуглеводной диеты. Отсортируйте таблицу "Сладости" по возрастанию столбца "Углеводы", и увидите, что в протеиновом брауни всего лишь 7г. углеводов,. А самой низкокалорийной сладостью будет веганский десерт "Ананасовый" - всего 165 ккал! Также есть раздел с вегетарианским питанием.
В планах добавить более сложные фильтры (например, ограничение по цене). Сейчас база данных составлена из каталога Вкусвилл для Петербурга. В будущем возможно выкачаю всероссийский каталог. На более позднем этапе развития возможно добавление каталогов других сетей.
Исходный код проекта на GitHub
С Новым Годом!
Комментарии (9)
edogs
02.01.2024 14:48+1Для MVP был выбран каталог сети Вкусвилл, как позиционирующей себя для здорового питания. Я написал простой скрипт на Python с использованием Selenium, который ходил по онлайн-каталогу этой сети и парсил в JSON данные о БЖУ, калориях и цене продуктов.
Единственное, что не стоит слепо полагаться на данные о БЖУ. Пару раз в комментариях у вкусвилла спрашивали про точность данных из каталога (ака с этикетки), они в ответ прикладывали тест который они сами делали (не знаем для всех продуктов делают или как), так вот расхождение данных с этикетки с данными теста - было весьма ощутимым.
И это у них еще можно хотя бы данные уточнить, а если глянуть тесты "стандартных" продуктов от росконтроля, то видно что и в них расхождения встречаются огромные.
Как ориентир - использовать можно, но с точки зрения точных вычислений, учитывая что погрешность огромная (жира может на 60% меньше оказаться например), это чисто культ карго.
Abobcum
С Новым Годом!
Проще и дешевле, чем вы думаете. Но придётся научиться готовить... Или купить протеиновый порошок.
boriswinner Автор
Здравствуйте! Я согласен с вами, что для многих категорий найти что-то подходящее несложно. Но есть и антипримеры. Например, колбаса: в разных колбасах очень сильно (в разы) отличается количество белка, и в магазине может быть большой ассортимент колбас (десятки наименований). Или сладости: среди сладостей мало наименований с низким содержанием углеводов :)
Markscheider
Я для себя этот вопрос решил просто. Объявил колбасу (как и прочие продукты из мяса глубокой переработки) однозначным злом. Чем такая еда, собственно, и является.
Если очень хочется чего-то мясного положить на бутер - приготовьте ростбиф. А если (как и я) стараетесь красного мяса избегать - примерно тоже самое можно сделать из куры/индейки.
Опять же, сыры, рыбные и морепродукты - тоже на бутерброды годится...
Markscheider
Немного добавлю пруфов, а то мои слова могут выглядеть как мантра упоротого зожника (про "трупный яд в мясе", "туалетную бумагу в колбасе" и пр.).
Дело не в отсутствии или неисполнении ТУ. Колбаса и иже с ней по дефолту вредны. Даже если туда не добавлять неуставное. Красное мясо - картина сходная. Главный риск - онкология кишечника.
Вот первое, что попалось под руку, остальное на pubned.
https://www.who.int/news-room/questions-and-answers/item/cancer-carcinogenicity-of-the-consumption-of-red-meat-and-processed-meat
Abobcum
Хочу поделиться своим опытом.
Я проверил множество врачей и сдал около 20 анализов, чтобы выяснить состав колбас, сладостей, печенья и т.п. К несчастью, абсолютно все продукты из этих категорий являются химическим коктейлем из никому неизвестных веществ. Такие продукты несовместимы со здоровьем и оказывают исключительно отравляющее действие на организм.
Такое происходит потому, что государство никак не регулирует добавки. Поэтому производитель может взять 10 грамм мяса и 990 грамм биопластелина, добавить туда ароматизатор и получить 1 кг абсолютно легальной колбасы.
boriswinner Автор
А можете подробнее описать свой опыт проверки? Звучит как материал на интересную статью