A node library that takes a given url and scrapes that webpage for recipe data. This library supports websites that utilize either microdata or JSON-LD. The function returns a promise where on success will return the recipe and on fail will throw an error with the message: 'Could not find recipe data'
npm install recipe-data-scraper
Example Usage:
import recipeDataScraper from 'recipe-data-scraper';
async function (...) {
try {
// pass a full url to a page that contains a recipe
const recipe = await recipeDataScraper(url);
res.json({ recipe });
} catch (error) {
res.status(500).json({ message: err.message });
}
}
Or:
import recipeDataScraper from 'recipe-data-scraper';
recipeDataScraper(url)
.then((recipe) => res.json({ recipe }))
.catch((err) => res.status(500).json({ message: err.message }));
Recipe Model:
property | type |
---|---|
url | string |
name | string |
image | string |
description | string |
cookTime | string |
cookTimeOriginalFormat | string |
prepTime | string |
prepTimeOriginalFormat | string |
totalTime | string |
totalTimeOriginalFormat | string |
recipeYield | string |
recipeIngredients | array of strings |
recipeInstructions | array of strings |
recipeCategories | array of strings |
recipeCuisines | array of strings |
recipeTypes | array of strings |
keywords | array of strings |
CLI:
If you want to try this library without a UI, you can clone it locally and run it via the command line.
git clone git@github.com:thelifenadine/recipe-data-scraper.git
npm install
npm run test-url