Giter Club home page Giter Club logo

recipe-scrapers's Introduction

Version Travis Coveralls License Github Black formatted

A simple web scraping tool for recipe sites.

pip install recipe-scrapers

then:

from recipe_scrapers import scrape_me

# give the url as a string, it can be url from any site listed below
scraper = scrape_me('https://www.allrecipes.com/recipe/158968/spinach-and-feta-turkey-burgers/')

scraper.title()
scraper.total_time()
scraper.yields()
scraper.ingredients()
scraper.instructions()
scraper.image()
scraper.links()

Note: scraper.links() returns a list of dictionaries containing all of the <a> tag attributes. The attribute names are the dictionary keys.

Scrapers available for:

Contribute

Part of the reason I want this open sourced is because if a site makes a design change, the scraper for it should be modified.

If you spot a design change (or something else) that makes the scraper unable to work for a given site - please fire an issue asap.

If you are programmer PRs with fixes are warmly welcomed and acknowledged with a virtual beer.

If you want a scraper for a new site added

For Devs / Contribute

Assuming you have python3 installed, navigate to the directory where you want this project to live in and drop these lines

git clone [email protected]:hhursev/recipe-scrapers.git &&
cd recipe-scrapers &&
python3 -m venv .venv &&
source .venv/bin/activate &&
pip install -r requirements.txt &&
pre-commit install &&
python -m coverage run -m unittest &&
python -m coverage report

FAQ

  • How do I know if a website has a Recipe Schema?
    • Go to a recipe on the website you want to be supported.
    • Hit Ctrl - u on your keyboard
    • Search (Ctrl -f) for application/ld+json. It should be inside a script tag.
    • If you found it then it's highly likely your website supports recipe schemas. Otherwise, you'll need to parse the HTML.

Spacial thanks to:

All the contributors that helped improving the package. You are awesome!

recipe-scrapers's People

Contributors

hhursev avatar jayaddison avatar bfcarpio avatar marcolussetti avatar gregwa1953 avatar patrickpierce avatar akdarrah avatar chiaratroiani avatar fboaventura avatar jrvanderveen avatar za3k avatar bajisci avatar mojito317 avatar mbgregory avatar raman325 avatar micahcochran avatar jksimoniii avatar tobiaghiraldini avatar tlofreso avatar muchomuchacho avatar lionawurscht avatar jservca avatar jerjou avatar wbhinton avatar renrut avatar timandrews335 avatar saurabhgoyal avatar boonepeter avatar pzurakowski avatar jwe0619 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.