diff --git a/recipe_scrapers/__init__.py b/recipe_scrapers/__init__.py index 24edb2548..18026d657 100644 --- a/recipe_scrapers/__init__.py +++ b/recipe_scrapers/__init__.py @@ -314,6 +314,7 @@ from .justbento import JustBento from .justinesnacks import JustineSnacks from .justonecookbook import JustOneCookbook +from .kalcirecept import KalciRecept from .kalejunkie import KaleJunkie from .kellyscleankitchen import KellysCleanKitchen from .kennethtemple import KennethTemple @@ -946,6 +947,7 @@ JustBento.host(): JustBento, JustineSnacks.host(): JustineSnacks, JustOneCookbook.host(): JustOneCookbook, + KalciRecept.host(): KalciRecept, KaleJunkie.host(): KaleJunkie, KellysCleanKitchen.host(): KellysCleanKitchen, KennethTemple.host(): KennethTemple, diff --git a/recipe_scrapers/kalcirecept.py b/recipe_scrapers/kalcirecept.py new file mode 100644 index 000000000..98d3b38dc --- /dev/null +++ b/recipe_scrapers/kalcirecept.py @@ -0,0 +1,74 @@ +from ._abstract import AbstractScraper +from ._utils import normalize_string + + +class KalciRecept(AbstractScraper): + @classmethod + def host(cls): + return "kalcirecept.hu" + + def site_name(self): + og_site_name = self.soup.find("meta", {"property": "og:site_name"}) + if og_site_name: + return og_site_name.get("content", "") + return "Kálci receptjei" + + def title(self): + h1 = self.soup.find("h1", class_="text-white") + if h1: + return normalize_string(h1.get_text()) + og_title = self.soup.find("meta", {"property": "og:title"}) + if og_title: + title = og_title.get("content", "") + sep = title.rfind(" - ") + if sep != -1: + title = title[:sep] + return normalize_string(title) + return None + + def image(self): + og_image = self.soup.find("meta", {"property": "og:image"}) + if og_image: + return og_image.get("content", "") + return None + + def _find_heading(self, text): + for h1 in self.soup.find_all("h1"): + if h1.get_text(strip=True) == text: + return h1 + return None + + def ingredients(self): + heading = self._find_heading("Hozzávalók") + if not heading: + return [] + container = heading.find_next_sibling() + if not container: + return [] + ingredients = [] + for li in container.find_all("li"): + spans = li.find_all("span") + if spans: + parts = [ + normalize_string(s.get_text()) + for s in spans + if s.get_text(strip=True) + ] + text = " ".join(parts) + if text: + ingredients.append(text) + return ingredients + + def instructions(self): + heading = self._find_heading("A recept") + if not heading: + return "" + container = heading.find_next_sibling() + if not container: + return "" + steps = [] + for p in container.find_all("p"): + text = normalize_string(p.get_text()) + if text: + steps.append(text) + return "\n".join(steps) diff --git a/tests/test_data/kalcirecept.hu/kalcirecept.json b/tests/test_data/kalcirecept.hu/kalcirecept.json new file mode 100644 index 000000000..c15f79ec5 --- /dev/null +++ b/tests/test_data/kalcirecept.hu/kalcirecept.json @@ -0,0 +1,22 @@ +{ + "canonical_url": "https://www.kalcirecept.hu/hu/receptek/csokis-kuglof", + "site_name": "Kálci receptjei", + "host": "kalcirecept.hu", + "language": "hu", + "title": "Csokis kuglóf", + "ingredients": [ + "4 db tojás (M-es)", + "250 g porcukor", + "1 csomag (8 g) vaníliás cukor", + "1 dl (100 g) tehéntej (2,8%)", + "1 dl (92 g) napraforgóolaj", + "150 g búzafinomliszt (BL 55)", + "50 g (5 ek) holland kakaópor", + "1/2 csomag (6 g) sütőpor", + "1 tábla (90-100 g) étcsokoládé" + ], + "instructions_list": [ + "A tojásokat szétválasztjuk. A sárgáját a porcukorral és a vaníliás cukorral a tej hozzáadásával habosra keverjük, majd belecsorgatjuk az olajat és egyneműre keverjük. A tojásfehérjét külön edényben kemény habbá verjük, majd óvatos mozdulatokkal összeforgatjuk a sárgás masszával. A lisztet, a kakaóport és a sütőport összekeverjük, ezt is a tésztához forgatjuk, végül hozzáadjuk az apróra vágott étcsokoládét. A masszát kivajazott, kilisztezett kuglófformába öntjük, majd 180 fokra előmelegített sütőben 50 percig sütjük, a végén tűpróbával ellenőrizzük." + ], + "image": "https://www.kalcirecept.hu/uploads/01KFKKBA2A56N63AFB95109YGD.png" +} diff --git a/tests/test_data/kalcirecept.hu/kalcirecept.testhtml b/tests/test_data/kalcirecept.hu/kalcirecept.testhtml new file mode 100644 index 000000000..fb60d328a --- /dev/null +++ b/tests/test_data/kalcirecept.hu/kalcirecept.testhtml @@ -0,0 +1,2346 @@ + + + + + + + + + + + + +Csokis kuglóf recept – egyszerű és igazán csokis - Kálci receptjei + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
+
+ + + +
+ +
+
+
+ + Csokis kuglóf +
+
+
+
+
+
+ + Hagyományos + +
+ +

+ Csokis kuglóf +

+ +
+
+ Desszert +
+
+ + +
+
+
Belépés
+

Lépj be, vagy regisztrálj és mentsd el kedvenc receptjeidet gyűjteményeid közé.

+
+
+ + + +
+
+ + + +
+ + + + +
+ + +
+ +
Regisztráció
+

Nézd meg a regisztrációval járó előnyöket!

+ Regisztráció +
+
+
+
+
+
+
+
+
+ + + + + + + +
+ + + +
+
+ +
+
+
+ +
+ +
+ +
+
+ Ez egy olyan kuglóf, aminél nem volt cél a márványosság, a csíkosság vagy a látványos trükközés. Csak egy igazán csokis, szaftos tészta, ami szeleteléskor is egyben marad, és másnap is ugyanolyan jólesik, mint frissen. Sok verzió után ennél az aránynál állt össze végleg, nálunk ez lett az csokis kuglóf. +
+
+ +
+
+

+ Hozzávalók +

+ +
+
+
+
    +
  • +
    + 4 db + tojás (M-es) +
    +
  • +
  • +
    + 250 g + porcukor +
    +
  • +
  • +
    + 1 csomag (8 g) + vaníliás cukor +
    +
  • +
  • +
    + 1 dl (100 g) + tehéntej (2,8%) +
    +
  • +
  • +
    + 1 dl (92 g) + napraforgóolaj +
    +
  • +
  • +
    + 150 g + búzafinomliszt (BL 55) +
    +
  • +
  • +
    + 50 g (5 ek) + holland kakaópor +
    +
  • +
  • +
    + 1/2 csomag (6 g) + sütőpor +
    +
  • +
  • +
    + 1 tábla (90-100 g) + étcsokoládé +
    +
  • +
+
+
+ + + + +
+
+
+ +
+
+ + + + + + + +

+ A recept +

+ +
+ + +
+

A tojásokat szétválasztjuk. A sárgáját a porcukorral és a vaníliás cukorral a tej hozzáadásával habosra keverjük, majd belecsorgatjuk az olajat és egyneműre keverjük. A tojásfehérjét külön edényben kemény habbá verjük, majd óvatos mozdulatokkal összeforgatjuk a sárgás masszával. A lisztet, a kakaóport és a sütőport összekeverjük, ezt is a tésztához forgatjuk, végül hozzáadjuk az apróra vágott étcsokoládét. A masszát kivajazott, kilisztezett kuglófformába öntjük, majd 180 fokra előmelegített sütőben 50 percig sütjük, a végén tűpróbával ellenőrizzük. 

+
+ + + + + + + + + +
+
+ +
+ + + + +
+ + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+
+

+ hírlevél + Kálci receptjei a postafiókodban +

+
Iratkozz fel hírlevelünkre, és első kézből értesülhetsz a legújabb receptjeimről, sütési tippekről és a megjelenő könyvekről! Ne hagyd ki az exkluzív ajánlatokat és különleges inspirációkat, amelyek segítenek még több finomságot varázsolni a konyhádba.
+ + +
+ + + + + + + + + + +
+ +
+
+ + +
+ + + + + + +