|
|
||
|---|---|---|
| docker/psql | ||
| src/recipe_graph | ||
| test | ||
| .gitignore | ||
| README.md | ||
| docker-compose.yml | ||
| pyproject.toml | ||
| requirements.txt | ||
README.md
Recipe Graph
Setup
Prerequisits
- Docker compose
- Python
Install python requirements
python -m pip installl -r requirements.txt
Environment (.env)
POSTGRES_URL=0.0.0.0
POSTGRES_USER=rgraph
POSTGRES_PASSWORD=rgraph
POSTGRES_DB=rgraph
Start database
docker-compose up
Initialize database and recipe sites
python src/db.py
python src/insert_sites.py data/sites.json
Usage
Scrape
import new recipes
python src/scrape.py <SiteName> -id <RecipeIdentifier>
To scrape only one recipe.
or
python src/scrape.py <SiteName> -a <N>
To scrape <N> recipes
By default it will start at id 0 or the greatest value of id alread in the
database. To start at another value please use both -id and -a.
Scrape a recipe site for recipies
positional arguments:
site Name of site
options:
-h, --help show this help message and exit
-id ID, --identifier ID
url of recipe(reletive to base url of site) or commma seperated list
-a N, --auto N automaticaly generate identifier(must supply number of recipies to scrape)
-v, --verbose
TODO
☑ automate scraping
☑ extracting quantity and name (via regex)
☑ creating adjacency list
☐ api for web frontend
☐ random ingredient list generation
☐ visualization(web frontend)
☐ create ontology of ingredients
☐ extend importing funcionality to more websites