georgegebbett / recipe-buddy

Recipe Buddy is a tool that enables the easy adding of recipes to Grocy through web scraping.
GNU General Public License v3.0
167 stars 28 forks source link

cannot add any recipes — adding a recipe produces error #39

Open mleimbach-beeclever opened 2 years ago

mleimbach-beeclever commented 2 years ago

Steps to reproduce:

error in docker below

recipe-buddy-mongo-1 | {"t":{"$date":"2022-07-16T13:59:26.187+00:00"},"s":"I", "c":"NETWORK", "id":51800, "ctx":"conn4","msg":"client metadata","attr":{"remote":"172.18.0.3:45724","client":"conn4","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.5.0"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.10.104-linuxkit"},"platform":"Node.js v16.15.0, LE (unified)","version":"4.5.0|6.3.1"}}} recipe-buddy-backend-1 | TypeError: steps.map is not a function recipe-buddy-backend-1 | at RecipeScraper.parseRecipeSteps (/dist/recipes/scraper/recipeScraper.js:23:22) recipe-buddy-backend-1 | at RecipeScraper.hydrateRecipe (/dist/recipes/scraper/recipeScraper.js:92:33) recipe-buddy-backend-1 | at processTicksAndRejections (node:internal/process/task_queues:96:5) recipe-buddy-backend-1 | at async RecipesService.create (/dist/recipes/recipes.service.js:27:24) recipe-buddy-backend-1 | at async /node_modules/@nestjs/core/router/router-execution-context.js:46:28 recipe-buddy-backend-1 | at async /node_modules/@nestjs/core/router/router-proxy.js:9:17

georgegebbett commented 2 years ago

Interesting - does this happen with every recipe? Can you try with the URL https://www.bbcgoodfood.com/recipes/gnocchi-herb-sauce and if that works could you let me know the recipe URL you are using?

mleimbach-beeclever commented 2 years ago

the provided url does work fine.

i tried several urls from chefkoch.de like: https://www.chefkoch.de/rezepte/291451108168834/Nudelsalat-auf-italienisch.html I had a look at their schema.org data and it seems to be populated, but the "mapping" within r-b is throwing the described error.

georgegebbett commented 2 years ago

Yes - it looks as though they are populating all of the steps in the recipeInstructions field rather than one by one in the recipeSteps. I'll have a think about the best way to solve this over the weekend.

Latschenharry commented 1 year ago

Having the same issue

GyrosWookiedaris commented 1 month ago

I second this. This makes recipe buddy barely unusable for my usecase, sadly.

jannavischer commented 1 month ago

Yes - it looks as though they are populating all of the steps in the recipeInstructions field rather than one by one in the recipeSteps. I'll have a think about the best way to solve this over the weekend.

Currently, I am using the Nextcloud Recipes App, which is able to scrape the chefkoch.de recipes. Maybe it is worth looking into their approach?