Skip to content

Commit

Permalink
Adds support for culy (#1462)
Browse files Browse the repository at this point in the history
  • Loading branch information
jknndy authored Jan 14, 2025
1 parent da035e7 commit 5b6dac3
Show file tree
Hide file tree
Showing 6 changed files with 4,263 additions and 0 deletions.
2 changes: 2 additions & 0 deletions recipe_scrapers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@
from .creativecanning import CreativeCanning
from .cucchiaio import Cucchiaio
from .cuisineaz import CuisineAZ
from .culy import Culy
from .cybercook import Cybercook
from .damndelicious import DamnDelicious
from .davidlebovitz import DavidLebovitz
Expand Down Expand Up @@ -545,6 +546,7 @@
CreativeCanning.host(): CreativeCanning,
Cucchiaio.host(): Cucchiaio,
CuisineAZ.host(): CuisineAZ,
Culy.host(): Culy,
Cybercook.host(): Cybercook,
DamnDelicious.host(): DamnDelicious,
DavidLebovitz.host(): DavidLebovitz,
Expand Down
23 changes: 23 additions & 0 deletions recipe_scrapers/culy.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from ._abstract import AbstractScraper
from ._grouping_utils import group_ingredients


class Culy(AbstractScraper):
@classmethod
def host(cls):
return "culy.nl"

def ingredient_groups(self):
return group_ingredients(
self.ingredients(),
self.soup,
".ingredients h3",
".ingredients ul li[itemprop='ingredients'], .ingredients ul li",
)

def instructions(self):
instructions_list = self.soup.select("ol li")
cleaned_instructions = [
instruction.get_text(strip=True) for instruction in instructions_list
]
return "\n".join(cleaned_instructions)
29 changes: 29 additions & 0 deletions tests/test_data/culy.nl/culy_1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"author": "Ogechi Chibueze",
"canonical_url": "https://www.culy.nl/recepten/pruimenjam/",
"site_name": "Culy",
"host": "culy.nl",
"language": "nl-NL",
"title": "Pruimenjam: een snel en makkelijk basisrecept binnen 15 minuten - Culy",
"ingredients": [
"1 kilo pruimen, ontpit en in kwarten",
"250 gram geleisuiker",
"2 eetlepels citroensap",
"1 theelepel kruiden, zoals kaneel of kardemom"
],
"instructions_list": [
"Spoel depruimengoed schoon, en ontpit ze. Gebruik hiervoor eventueel een kersenontpitter. Snijd de pruimen vervolgens in kwarten.",
"Zet een grote pan op het vuur en voeg de pruimen met schil en al toe samen met desuikeren hetcitroensap. Doe ook dekruidenerbij, indien je die gebruikt.",
"Breng de pruimenjam aan de kook en laat het ongeveer 10 minuten koken op laag vuur. Je kunt de jam met een staafmixer pureren, voor een gladde jam.",
"Doe de jamproef: neem een lepeltje jam en laat het op een bordje vallen. Trek er vervolgens met je vinger een lijn doorheen. Als de lijn zichtbaar blijft, is ‘ie klaar. Kook de jam anders nog even door en herhaal de proef tot de gewenste dikte is bereikt.",
"Schik de jam, kokendheet, in de jampotten. Draai de deksels goed dicht en laat ze omgekeerd staan. Hierdoor zullen ze vacuümtrekken. Bewaar de jam enkele maanden buiten de koelkast."
],
"yields": "3 servings",
"description": "Zelf jam maken is een klusje dat ons gelijk doet denken aan vroeger. Deze keer maken we een zoete en knalroze pruimenjam, lichtelijk gekruid met een snuf kaneel. Om d...",
"total_time": 15,
"cook_time": 10,
"prep_time": 5,
"ratings": 3.5,
"ratings_count": 2,
"image": "https://www.culy.nl/wp-content/uploads/2024/10/Pruimenjam_maken_1.jpg"
}
2,052 changes: 2,052 additions & 0 deletions tests/test_data/culy.nl/culy_1.testhtml

Large diffs are not rendered by default.

69 changes: 69 additions & 0 deletions tests/test_data/culy.nl/culy_2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
{
"author": "Ogechi Chibueze",
"canonical_url": "https://www.culy.nl/recepten/zuurvlees-zoervleisj/",
"site_name": "Culy",
"host": "culy.nl",
"language": "nl-NL",
"title": "Zuurvlees (Limburgs zoervleisj) maken: zo doe je dat zelf - Culy",
"ingredients": [
"1 ruime kilo rundersukade of runderlappen",
"400 ml water",
"400 ml natuurazijn",
"10 laurierblaadjes",
"10 jeneverbessen",
"10 kruidnagels",
"3 uien, in halve ringen",
"1 flinke klont boter, om in te bakken",
"3 eetlepels appelstroop, of perenstroop",
"3 eetlepels bruine basterdsuiker",
"1 eetlepel speculaaskruiden, of koekkruiden",
"5 plakken ontbijtkoek, verkruimeld"
],
"ingredient_groups": [
{
"ingredients": [
"1 ruime kilo rundersukade of runderlappen",
"400 ml water",
"400 ml natuurazijn",
"10 laurierblaadjes",
"10 jeneverbessen",
"10 kruidnagels",
"3 uien, in halve ringen"
],
"purpose": "Voor de marinade:"
},
{
"ingredients": [
"1 flinke klont boter, om in te bakken",
"3 eetlepels appelstroop, of perenstroop",
"3 eetlepels bruine basterdsuiker",
"1 eetlepel speculaaskruiden, of koekkruiden",
"5 plakken ontbijtkoek, verkruimeld"
],
"purpose": "Voor het zuurvlees:"
}
],
"instructions_list": [
"Snijd hetvleesin flinke stukken.",
"Marineer de stukken vlees een nachtje in een mengsel vanwater,natuurazijn,specerijenen degesnedenuien. Zorg dat het vlees volledig onderstaat.",
"Haal het vlees de volgende dag samen met de uien uit de marinade. Vis ook de laurierblaadjes eruit, de kruidnagels en jeneverbessen gooi je weg. Bewaar wel het marinadevocht van het zuurvlees.",
"Zet een grote braadpan op het vuur en smelt daar in een flinke klontboter.",
"Dep het vlees goed droog en bestrooi vervolgens metzoutenpeper.",
"Braad het vlees goudbruin aan alle zijdes. Doe dit eventueel in delen, zodat de pan niet te vol raakt en het vlees goed kan bakken.",
"Haal het vlees uit de pan en voeg de uien toe. Bak deze ongeveer 5 minuten.",
"Doe het vlees en de laurierblaadjes er daarna weer bij, samen met één kopje van hetmarinadevocht, deappelstroop,bruinebasterdsuiker,speculaaskruidenen de verkruimeldeontbijtkoek.",
"Laat ruim een 2 tot 4 uur op laag vuur zachtjes stoven (of zet het ongeveer 8 uur op 80 graden met deksel op de pan in de oven).",
"Maak de saus indien nodig dikker met wat extra ontbijtkoek. Proef het zuurvlees, en breng eventueel op smaak met een beetje zout en peper en voeg eventueel nog wat suiker toe naar smaak."
],
"yields": "4 servings",
"description": "Elke Limburger kent het, en iedereen die het (nog) niet kent, moet absoluut blijven lezen. Limburgs zuurvlees, ofwel zoervleisj, is een op en top winters ger...",
"total_time": 410,
"cook_time": 380,
"prep_time": 30,
"ratings": 4.45,
"ratings_count": 428,
"nutrients": {
"calories": "645"
},
"image": "https://www.culy.nl/wp-content/uploads/2016/01/Zuurvlees_Zoervleisj_maken_1.jpg"
}
Loading

0 comments on commit 5b6dac3

Please sign in to comment.