From 8962bf1126e00362ca645f6c6b08defbc0c3d213 Mon Sep 17 00:00:00 2001 From: Joey <7505194+jknndy@users.noreply.github.com> Date: Fri, 18 Oct 2024 19:49:12 -0400 Subject: [PATCH 1/3] pull new test data --- tests/test_data/simply-cookit.com/simplycookit.json | 2 +- tests/test_data/simply-cookit.com/simplycookit.testhtml | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/test_data/simply-cookit.com/simplycookit.json b/tests/test_data/simply-cookit.com/simplycookit.json index d1a65f08e..70428dbc5 100644 --- a/tests/test_data/simply-cookit.com/simplycookit.json +++ b/tests/test_data/simply-cookit.com/simplycookit.json @@ -1,6 +1,6 @@ { "author": "simply-cookit.com", - "canonical_url": "https://", + "canonical_url": "https://www.simply-cookit.com/de/rezepte/gnocchi-zuckerschoten-parmesansauce", "site_name": "Simply Cookit", "host": "simply-cookit.com", "language": "de", diff --git a/tests/test_data/simply-cookit.com/simplycookit.testhtml b/tests/test_data/simply-cookit.com/simplycookit.testhtml index 3798a0188..d25dab557 100644 --- a/tests/test_data/simply-cookit.com/simplycookit.testhtml +++ b/tests/test_data/simply-cookit.com/simplycookit.testhtml @@ -1,4 +1,5 @@ -Gnocchi mit Zuckerschoten und getrockneten Tomaten in Parmesansauce | Simply-Cookit

Gnocchi mit Zuckerschoten und getrockneten Tomaten in Parmesansauce

Gnocchi mit Zuckerschoten und getrockneten Tomaten in Parmesansauce
Vegetarisch
Gnocchi mit Zuckerschoten und getrockneten Tomaten in Parmesansauce in einer Schale
Gnocchi mit Zuckerschoten und getrockneten Tomaten in Parmesansauce

Ein besonders schnell zubereitetes Gericht - mit feiner Tomaten-Parmesansauce!

Vegetarisch

Cookit Zubehör

Universalmesser, Zwillings-Rührbesen

Besonderes Zubehör

Topf, Schüsseln

Nährwerte

Pro Portion: 505 kcal | 19 g E | 24 g F | 55 g KH

So wird es gemacht:

  • 1Das Universalmesser einsetzen. Den Parmesan in ca. 3 cm großen Stücken in den Topf einwiegen. Den Deckel schließen, den Messbecher einsetzen und den Parmesan (Universalmesser | Stufe 18 | 20 Sek.) fein zerkleinern. Das Universalmesser entnehmen und das Lebensmittel mit dem Spatel abstreifen. Den Parmesan umfüllen und beiseitestellen.
  • 2Das Universalmesser einsetzen. Die Zwiebel schälen, halbieren und in den Topf geben. Die Knoblauchzehe schälen und zugeben. Den Deckel schließen und die Zutaten (Universalmesser | Stufe 14 | 10 Sek.) zerkleinern. Das Universalmesser entnehmen und das Lebensmittel mit dem Spatel abstreifen. Die Zutaten mit dem Spatel nach unten schieben.
  • 3In einem Kochtopf reichlich Salzwasser zum Kochen bringen. In der Zwischenzeit den Zwillings-Rührbesen einsetzen. Die Butter in den Topf einwiegen.
  • 4Den Deckel schließen, den Messbecher entnehmen und die Zwiebeln (Zwillings-Rührbesen | Stufe 3 | 120 °C | 4 Min.) andünsten. Das Mehl zugeben, den Deckel schließen und die Zutaten (Zwillings-Rührbesen | Stufe 3 | 120 °C | 3 Min.) anschwitzen. Den Gemüsefond und die Milch einwiegen sowie Salz und Pfeffer zugeben. Den Deckel schließen, den Messbecher einsetzen und die Zutaten (Zwillings-Rührbesen | Stufe 4 | 95 °C | 6 Min.) köcheln lassen.
  • 5Die Gnocchi im Kochtopf nach Packungsangabe garen und anschließend abgießen. In der Zwischenzeit die getrockneten Tomaten in ca. 3 mm feine Stücke schneiden und in den Topf einwiegen. 60 g Parmesan einwiegen, den Deckel schließen und die Zutaten (Zwillings-Rührbesen | Stufe 4 | 100 °C | 1 Min.) vermengen. Den Zwillings-Rührbesen entnehmen. Die Zuckerschoten in ca. 2 cm große Stücke schneiden, einwiegen und mit dem Spatel unterheben.
  • 6Die Sauce über die Gnocchi geben und mit dem restlichem Parmesan bestreut servieren.

Die Temperatur, bei der Wasser zu kochen beginnt, hängt von der Höhe des Wohnorts über dem Meeresspiegel ab. Um ein Überkochen zu vermeiden solltest du bei manuellen Rezepten darauf achten, bei Kochtemperaturen zwischen 93 °C und 100 °C, die Temperatur dementsprechend anzupassen. Weitere Informationen hierzu findest du in der Cookit Gebrauchsanweisung unter dem Punkt „So gelingt’s“.

COOKIT ACADEMY

Lerne in der Cookit Academy deinen Cookit spielerisch kennen: wie er benutzt wird und natürlich, was du alles mit ihm kochen kannst. Nebenbei gewinnst du Wissens-Badges, die in deinem Profil und mit deinen Reviews für alle User sichtbar angezeigt werden.

Zur Cookit Academy
2 Min.
Vorbereitungszeit
19 Min.
Kochzeit
21 Min.
Gesamtzeit
Leicht
Zutaten für 4 Personen
  • 90 g Parmesan
  • 1 Zwiebel
  • 1 Knoblauchzehe
  • 0,5 TL Salz
  • 30 g Butter
  • 3 TL Weizenmehl, Type 405
  • 150 ml Gemüsefond
  • 250 ml Milch
  • 0,25 TL schwarzer Pfeffer, aus der Mühle
  • 800 g Gnocchi, aus dem Kühlregal
  • 100 g Tomaten, getrocknet, in Öl
  • 200 g Zuckerschoten

Zur Einkaufsliste

Simply Cookit

Du hast noch keinen Zugang?
Jetzt einfach kostenlos anmelden!

Deine Vorteile
  • Eigene Profilseite
  • Lieblingsrezepte speichern
  • Kochbücher erstellen
  • Rezepte bewerten
  • Rezensionen schreiben
  • Einkaufsliste
Jetzt gratis registrieren
Du hast schon ein Konto?
Anmelden
+
2 Min.
Vorbereitungszeit
19 Min.
Kochzeit
21 Min.
Gesamtzeit
Leicht
Zutaten für 4 Personen
Zur Einkaufsliste

Simply Cookit

Du hast noch keinen Zugang?
Jetzt einfach kostenlos anmelden!

Deine Vorteile
  • Eigene Profilseite
  • Lieblingsrezepte speichern
  • Kochbücher erstellen
  • Rezepte bewerten
  • Rezensionen schreiben
  • Einkaufsliste
Jetzt gratis registrieren
Du hast schon ein Konto?
Anmelden
\ No newline at end of file From cc857fdb485515bb75be2e53a226347dd2d38f8f Mon Sep 17 00:00:00 2001 From: Joey <7505194+jknndy@users.noreply.github.com> Date: Fri, 18 Oct 2024 19:49:26 -0400 Subject: [PATCH 2/3] rename --- .../simply-cookit.com/{simplycookit.json => simplycookit_1.json} | 0 .../{simplycookit.testhtml => simplycookit_1.testhtml} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename tests/test_data/simply-cookit.com/{simplycookit.json => simplycookit_1.json} (100%) rename tests/test_data/simply-cookit.com/{simplycookit.testhtml => simplycookit_1.testhtml} (100%) diff --git a/tests/test_data/simply-cookit.com/simplycookit.json b/tests/test_data/simply-cookit.com/simplycookit_1.json similarity index 100% rename from tests/test_data/simply-cookit.com/simplycookit.json rename to tests/test_data/simply-cookit.com/simplycookit_1.json diff --git a/tests/test_data/simply-cookit.com/simplycookit.testhtml b/tests/test_data/simply-cookit.com/simplycookit_1.testhtml similarity index 100% rename from tests/test_data/simply-cookit.com/simplycookit.testhtml rename to tests/test_data/simply-cookit.com/simplycookit_1.testhtml From 3a6afa8279d442a8fd0cfbd484da82b59eeebaf3 Mon Sep 17 00:00:00 2001 From: Joey <7505194+jknndy@users.noreply.github.com> Date: Fri, 18 Oct 2024 20:03:08 -0400 Subject: [PATCH 3/3] grouping & ingredient improvments --- recipe_scrapers/simplycookit.py | 34 ++++++++ .../simply-cookit.com/simplycookit_2.json | 78 +++++++++++++++++++ .../simply-cookit.com/simplycookit_2.testhtml | 35 +++++++++ 3 files changed, 147 insertions(+) create mode 100644 tests/test_data/simply-cookit.com/simplycookit_2.json create mode 100644 tests/test_data/simply-cookit.com/simplycookit_2.testhtml diff --git a/recipe_scrapers/simplycookit.py b/recipe_scrapers/simplycookit.py index 75c4bd21c..9d43db260 100644 --- a/recipe_scrapers/simplycookit.py +++ b/recipe_scrapers/simplycookit.py @@ -1,5 +1,6 @@ from ._abstract import AbstractScraper from ._exceptions import StaticValueException +from ._grouping_utils import IngredientGroup from ._utils import normalize_string @@ -14,6 +15,8 @@ def site_name(self): def ingredients(self): ingredients = [] for li in self.soup.find("ul", {"class": "recipe_ingredients"}).findAll("li"): + if li.find("h3"): + continue ingredients.append(normalize_string(li.get_text())) return ingredients @@ -25,3 +28,34 @@ def instructions(self): instructions.append(normalize_string(li.get_text())) return "\n".join(instructions) + + def ingredient_groups(self): + ingredient_groups = [] + + current_group = None + for li in self.soup.find("ul", {"class": "recipe_ingredients"}).findAll("li"): + h3 = li.find("h3") + if h3: + if current_group: + ingredient_groups.append(current_group) + current_group = IngredientGroup( + ingredients=[], purpose=normalize_string(h3.get_text()) + ) + else: + text = normalize_string(li.get_text()) + if text: + if current_group: + current_group.ingredients.append(text) + else: + if not ingredient_groups: + ingredient_groups.append(IngredientGroup(ingredients=[])) + ingredient_groups[0].ingredients.append(text) + + if current_group: + ingredient_groups.append(current_group) + + return ( + ingredient_groups + if ingredient_groups + else [IngredientGroup(ingredients=self.ingredients())] + ) diff --git a/tests/test_data/simply-cookit.com/simplycookit_2.json b/tests/test_data/simply-cookit.com/simplycookit_2.json new file mode 100644 index 000000000..4be3b80ad --- /dev/null +++ b/tests/test_data/simply-cookit.com/simplycookit_2.json @@ -0,0 +1,78 @@ +{ + "author": "simply-cookit.com", + "canonical_url": "https://www.simply-cookit.com/de/rezepte/pumpkin-pie", + "site_name": "Simply Cookit", + "host": "simply-cookit.com", + "language": "de", + "title": "Pumpkin Pie", + "ingredients": [ + "200 g Weizenmehl 405", + "120 g Butter, kalt", + "60 g Zucker", + "40 ml Wasser, eiskalt", + "1 Prise Salz", + "1 Prise gemahlener Zimt", + "750 g Hokkaidokürbis", + "100 ml Wasser", + "200 g Doppelrahm-Frischkäse", + "120 g brauner Zucker", + "3 Eier", + "1 TL gemahlener Zimt", + "0,5 TL Ingwerpulver", + "1 Prise Muskatnusspulver", + "1 Msp. Pimentpulver", + "1 Prise Salz", + "Butter, zum Fetten", + "Weizenmehl 405, zum Bearbeiten" + ], + "ingredient_groups": [ + { + "ingredients": [ + "200 g Weizenmehl 405", + "120 g Butter, kalt", + "60 g Zucker", + "40 ml Wasser, eiskalt", + "1 Prise Salz", + "1 Prise gemahlener Zimt" + ], + "purpose": "Für den Teig" + }, + { + "ingredients": [ + "750 g Hokkaidokürbis", + "100 ml Wasser", + "200 g Doppelrahm-Frischkäse", + "120 g brauner Zucker", + "3 Eier", + "1 TL gemahlener Zimt", + "0,5 TL Ingwerpulver", + "1 Prise Muskatnusspulver", + "1 Msp. Pimentpulver", + "1 Prise Salz" + ], + "purpose": "Für die Füllung" + }, + { + "ingredients": [ + "Butter, zum Fetten", + "Weizenmehl 405, zum Bearbeiten" + ], + "purpose": "Außerdem" + } + ], + "category": "Desserts & Backen", + "yields": "10 servings", + "description": "Der traditionelle Kürbiskuchen aus den USA zeichnet sich durch sein strahlendes Orange und die Vielfalt an Gewürzen aus. Die perfekte Verbindung aus cremiger Kürbisfüllung und knusprigem Mürbeteig. Nach 1 Stunde Abkühlzeit kannst du dich selber von dem unglaublichen Geschmack überzeugen. Für dieses Rezept benötigst du das Crushmesser.", + "total_time": 190, + "cook_time": 190, + "nutrients": { + "calories": "344 kcal", + "fatContent": "18 g", + "carbohydrateContent": "39 g", + "proteinContent": "7 g" + }, + "image": "https://www.simply-cookit.com/sites/default/files/styles/square/public/assets/image/2024/10/pumpkin-pie_landscape.jpg?h=4727d466&itok=NZhYUH7F", + "keywords": [ + "Desserts & Backen" + ] +} diff --git a/tests/test_data/simply-cookit.com/simplycookit_2.testhtml b/tests/test_data/simply-cookit.com/simplycookit_2.testhtml new file mode 100644 index 000000000..b7cfc03e3 --- /dev/null +++ b/tests/test_data/simply-cookit.com/simplycookit_2.testhtml @@ -0,0 +1,35 @@ + +Pumpkin Pie | Simply Cookit

Pumpkin Pie

Pumpkin Pie
Desserts & Backen
Pumpkin Pie, angeschnitten auf einem Kaffeetisch.
Pumpkin Pie

Der traditionelle Kürbiskuchen aus den USA zeichnet sich durch sein strahlendes Orange und die Vielfalt an Gewürzen aus. Die perfekte Verbindung aus cremiger Kürbisfüllung und knusprigem Mürbeteig. Nach 1 Stunde Abkühlzeit kannst du dich selber von dem unglaublichen Geschmack überzeugen. Für dieses Rezept benötigst du das Crushmesser.

Unser Tipp: Wenn du bei der Zubereitung Zeit sparen möchtest, kannst du das Kürbispüree bereits am Vortag herstellen oder auf fertiges Kürbispüree zurückgreifen. Um den Aufwand zu reduzieren, kann das Püree auch im Topf abkühlen. Beachte jedoch, dass sich die Abkühlzeit dadurch verdoppelt.

Desserts & Backen

Cookit Zubehör

Universalmesser, Crushmesser

Küchenutensilien

Frischhaltefolie, Tarteform (Ø 26 cm), Teigrolle

Nährwerte

Pro Stück: 344 kcal | 7 g E | 18 g F | 39 g KH

Rezept laden und loskochen

COOKIT ACADEMY

Lerne in der Cookit Academy deinen Cookit spielerisch kennen: wie er benutzt wird und natürlich, was du alles mit ihm kochen kannst. Nebenbei gewinnst du Wissens-Badges, die in deinem Profil und mit deinen Reviews für alle User sichtbar angezeigt werden.

Zur Cookit Academy
22 Min.
Vorbereitungszeit
1 Std. 18 Min.
Kochzeit
3 Std. 10 Min.
Gesamtzeit
Mittel
Zutaten für 10 Stücke
  • Für den Teig

  • 200 g Weizenmehl 405
  • 120 g Butter, kalt
  • 60 g Zucker
  • 40 ml Wasser, eiskalt
  • 1 Prise Salz
  • 1 Prise gemahlener Zimt
  • Für die Füllung

  • 750 g Hokkaidokürbis
  • 100 ml Wasser
  • 200 g Doppelrahm-Frischkäse
  • 120 g brauner Zucker
  • 3 Eier
  • 1 TL gemahlener Zimt
  • 0,5 TL Ingwerpulver
  • 1 Prise Muskatnusspulver
  • 1 Msp. Pimentpulver
  • 1 Prise Salz
  • Außerdem

  • Butter, zum Fetten
  • Weizenmehl 405, zum Bearbeiten

Zur Einkaufsliste

Simply Cookit

Du hast noch keinen Zugang?
Jetzt einfach kostenlos anmelden!

Deine Vorteile
  • Eigene Profilseite
  • Lieblingsrezepte speichern
  • Kochbücher erstellen
  • Rezepte bewerten
  • Rezensionen schreiben
  • Einkaufsliste
Jetzt gratis registrieren
Du hast schon ein Konto?
Anmelden
\ No newline at end of file