2.0.0 • Published 2 years ago

@jitl/recipe-data-scraper v2.0.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

Build Status Coverage Status

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:

propertytype
urlstring
namestring
imagestring
descriptionstring
cookTimestring
cookTimeOriginalFormatstring
prepTimestring
prepTimeOriginalFormatstring
totalTimestring
totalTimeOriginalFormatstring
recipeYieldstring
recipeIngredientsarray of strings
recipeInstructionsarray of strings
recipeCategoriesarray of strings
recipeCuisinesarray of strings
recipeTypesarray of strings
keywordsarray 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