Open cd-FileX opened 5 months ago
I've created a dart package to extract recipes, so your issue would be better placed here: https://github.com/judemont/recipe_extractor But I'm going to answer you anyway.
Recipe sites are all very different from one another, and I don't think I have the skills at present to create a universal extraction system. It's already very easy to add support for other sites with this package, and if you need another one, just ask me and I'll add it.
I have fantastic news for you, as a universal recipe extraction system was already created by the folks over at https://cooked.wiki/.
Here are some examples: https://www.tasteofhome.com/recipes/favorite-baked-spaghetti/ Becomes: https://cooked.wiki/new/recent/47a923ae-5f5f-48df-81b7-e248385f5de8
https://www.averiecooks.com/easy-15-minute-spaghetti/ Becomes: https://cooked.wiki/new/recent/8a383dc8-d019-415f-a74e-744a62193b90
https://www.favfamilyrecipes.com/nicks-authentic-italian-spaghetti/ Becomes: https://cooked.wiki/new/recent/ee6b0448-e47b-4408-a8a3-2da97413ac95
And so on.
As you can see, all of these recipes from unsupported sites get translated into a consistent layout under cooked.wiki. by adding support for them, users could use any site that works with cooked.wiki to load recipes in the app. You could even automate the process of sending the users arbitrary recipe link to cooked.wiki to get the consistent format.
Very good idea, I'll try to integrate cooked.wiki in recipe_extractor soon !
It doesn't seem to be open though, so you may get your app the promotes non-free network services anti-feature badge by integrating this.
I'll try to find more open alternatives
It seems you are using pretty specific ways to extract data from single websites. Not only does this slow down the development, but if you would reach the point where you have support for a lot of websites, you have a large list of them.
What you should rather do, is
There are probably more websites for recipes than you could imagine and it is too difficult picking out every single one and build it into your app. For sure, you can do it like that and it will succeed in a limited way, though you would have to rely on people telling you which websites to add and maybe even where the content you need is, which is not pretty reliable.