boriswinner / vkusvill-healthy-food

Web UI and Web Crawler for catalog of Vkusvill supermarkets. Allows for searching high-protein, low-caloric, low-carb foods.
0 stars 2 forks source link

Неверные данные при сравнении с сайтом #1

Open andreykaone opened 10 months ago

andreykaone commented 10 months ago

Предположу, что скраппер неверно парсит страницу товара и сохраняет в json. Видимо, присутствует какое-то смещение по полям. В данных значение белков пропало, жиры стали белками, углеводы - жирами, а калории и углеводами и, собственно, калориями.

На примере ореха https://spb.vkusvill.ru/goods/orekhi-semushka-brazilskiy-orekh-120-g-32625.html Спарсились: 66.9 белки, 7.8 жиры, 690.0 углеводы, 690.0 ккал image

Хотя на сайте значения уже другие: 14.3 белки 66.9 жиры 7.8 углеводы, 690 ккал image

andreykaone commented 10 months ago

Открыл код парса данных - видимо дело в регулярках proteins_regexp, fats_regexp, carbs_regexp и calories_regexp. Парсер пытается получить число после слова, когда у некоторых товаров число перел словом.

если печеное яблоко (https://spb.vkusvill.ru/goods/pechenoe-yabloko-s-brusnikoy-61152.html) спарсится нормально, потому что формат кбжу "белки (число)", то такие продукты как орех (https://spb.vkusvill.ru/goods/orekhi-semushka-brazilskiy-orekh-120-g-32625.html) правильно не спарсятся - в данном случае и формат строик другой, и запятых нет.