auto-save 2026-07-13
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# Recipe Curation for Batch Import
|
||||
|
||||
How to find popular, high-rated recipes and import them into Mealie.
|
||||
|
||||
## Workflow
|
||||
|
||||
1. **Find popular collections** on reliable scraper-compatible sites
|
||||
2. **Extract individual recipe URLs** (not category/search pages)
|
||||
3. **Filter by dietary preference** (e.g., no pork/bacon)
|
||||
4. **Batch import** via the Mealie API with polite delays
|
||||
|
||||
## Reliable Source Sites (near-100% scraper success)
|
||||
|
||||
| Site | Notes |
|
||||
|---|---|
|
||||
| **BBC Good Food** (bbcgoodfood.com) | Has curated collections like "All-time top 20 recipes", "Best rated recipes", "Most popular recipes of [year]". High rating counts (500–3000+). |
|
||||
| **RecipeTin Eats** (recipetineats.com) | Has a "Most Popular" category across 12 pages. Many recipes have comments/ratings. |
|
||||
|
||||
**Both sites consistently return 200/201 from Mealie's scraper.** Avoid sites behind Cloudflare (Damn Delicious, AllRecipes, Simply Recipes) — they fail with HTTP 400.
|
||||
|
||||
## Finding Popular Recipes
|
||||
|
||||
### BBC Good Food
|
||||
|
||||
Known collection URLs (direct recipe lists, not just articles):
|
||||
|
||||
```
|
||||
https://www.bbcgoodfood.com/recipes/collection/all-time-top-20-recipes
|
||||
https://www.bbcgoodfood.com/recipes/collection/most-popular-recipes
|
||||
https://www.bbcgoodfood.com/howto/guide/most-popular-recipes-on-good-food
|
||||
https://www.bbcgoodfood.com/news-trends/popular-recipes-2025
|
||||
```
|
||||
|
||||
Search strategy: `site:bbcgoodfood.com "most popular" OR "top" OR "best rated" recipes collection`
|
||||
|
||||
Each recipe on these list pages links to its individual URL (e.g., `https://www.bbcgoodfood.com/recipes/chilli-con-carne-recipe`).
|
||||
|
||||
### RecipeTin Eats
|
||||
|
||||
The "Most Popular" category has 12 pages:
|
||||
|
||||
```
|
||||
https://www.recipetineats.com/category/most-popular/
|
||||
https://www.recipetineats.com/category/most-popular/page/2/
|
||||
...up to page 12
|
||||
```
|
||||
|
||||
To extract URLs from a category page programmatically, use the browser console:
|
||||
```js
|
||||
JSON.stringify(Array.from(document.querySelectorAll('article a[href*="recipetineats.com"]')).map(a => a.href))
|
||||
```
|
||||
|
||||
Or scrape with web_extract + regex on the class/HTML (the article titles contain links).
|
||||
|
||||
## Filtering by Dietary Preference
|
||||
|
||||
When the user has restrictions (e.g., **no pork or bacon**), skip recipes with these in the title before importing:
|
||||
|
||||
- "pork" (pork tenderloin, pork chops, pulled pork, etc.)
|
||||
- "bacon" (bacon-wrapped, bacon cheeseburger, etc.)
|
||||
- "chorizo" (often Spanish pork sausage — check if user is ok with it; chorizo is typically pork)
|
||||
- "pancetta" (cured pork belly, common in carbonara)
|
||||
- "sausage" (can be pork — check recipe page)
|
||||
- "prosciutto" / "ham" / "gammon"
|
||||
|
||||
**Checking individual recipes:** Open the recipe URL, scan the ingredient list for pork/bacon before importing. BBC Good Food often lists dietary tags (Vegetarian, Vegan, Healthy) which help quickly ID compatible recipes.
|
||||
|
||||
Curated safe categories with high success: vegetarian, chicken, beef, lamb, fish/seafood, pasta (without pork), curries, baked goods, soups, salads.
|
||||
|
||||
## Batch Import Script
|
||||
|
||||
See `references/batch-import.md` for the full Python import script.
|
||||
|
||||
Recommended settings:
|
||||
- **2-second delay** between imports (avoids rate limiting on BBC Good Food)
|
||||
- **60-second timeout** per URL (Mealie's scraper can be slow on first parse)
|
||||
- Filter URL list **before** importing — it's easier than cleaning up after
|
||||
|
||||
## Real-World Example
|
||||
|
||||
20 recipes imported in a single batch (13 BBC Good Food + 7 RecipeTin Eats):
|
||||
- **Pork/bacon recipes skipped:** Bacon-Wrapped Pork Tenderloin, Sausage Ragu, Bangers and Mash (sausage = likely pork)
|
||||
- **Result:** 20/20 success (100%)
|
||||
- **Time:** ~68 seconds with 2-second delays
|
||||
Reference in New Issue
Block a user