@jitl/recipe-data-scraper
v2.0.0
Published
web scraper for recipe data
Downloads
1,101
Readme
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 [email protected]:thelifenadine/recipe-data-scraper.git
npm install
npm run test-url