-
Notifications
You must be signed in to change notification settings - Fork 564
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve scraping of spisbedre.dk #1489
Merged
hhursev
merged 9 commits into
hhursev:main
from
jacrasmussen:feature/spis-bedre-dk-improvements
Feb 21, 2025
Merged
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
876b031
Scrape equipment for spisbedre.dk
jacrasmussen 01c5c96
Update instructions logic for spisbedre.dk
jacrasmussen bb1990e
Consider different yields for spisbedre.dk
jacrasmussen 20a9ee1
Scrape nutrients for spisbedre.dk
jacrasmussen 471daa9
Update ingredient unit formatting
jacrasmussen 441ae02
Move yield type outside formatted string
jacrasmussen e71a238
Fix nutrient values for python 3.9
jacrasmussen 4bb903f
Remove locale dependency
jacrasmussen bbeddff
Refactor nutrient formatting
jacrasmussen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,89 @@ | ||||||
{ | ||||||
"author": "Camilla Biesbjerg Markussen", | ||||||
"canonical_url": "https://spisbedre.dk/opskrifter/fastelavnsboller-med-lemoncurd-og-braendt-marengs", | ||||||
"site_name": "SPIS BEDRE", | ||||||
"host": "spisbedre.dk", | ||||||
"language": "da", | ||||||
"title": "Fastelavnsboller med lemoncurd og brændt marengs", | ||||||
"ingredients": [ | ||||||
"75 g smør", | ||||||
"2½ dl mælk", | ||||||
"50 g gær", | ||||||
"125 g yoghurt naturel 3,5 %", | ||||||
"1 æg", | ||||||
"2 spsk. sukker", | ||||||
"2 spsk. vaniljesukker", | ||||||
"½ tsk. salt", | ||||||
"600 g hvedemel", | ||||||
"½ dl mælk til pensling", | ||||||
"3 usprøjtede citroner", | ||||||
"200 g sukker", | ||||||
"2 æg", | ||||||
"75 g smør", | ||||||
"300 g sukker", | ||||||
"1 vaniljestang", | ||||||
"1 dl vand", | ||||||
"150 g pasteuriserede æggehvider" | ||||||
], | ||||||
"ingredient_groups": [ | ||||||
{ | ||||||
"ingredients": [ | ||||||
"75 g smør", | ||||||
"2½ dl mælk", | ||||||
"50 g gær", | ||||||
"125 g yoghurt naturel 3,5 %", | ||||||
"1 æg", | ||||||
"2 spsk. sukker", | ||||||
"2 spsk. vaniljesukker", | ||||||
"½ tsk. salt", | ||||||
"600 g hvedemel", | ||||||
"½ dl mælk til pensling" | ||||||
], | ||||||
"purpose": "Vaniljeboller" | ||||||
}, | ||||||
{ | ||||||
"ingredients": [ | ||||||
"3 usprøjtede citroner", | ||||||
"200 g sukker", | ||||||
"2 æg", | ||||||
"75 g smør" | ||||||
], | ||||||
"purpose": "Lemoncurd" | ||||||
}, | ||||||
{ | ||||||
"ingredients": [ | ||||||
"300 g sukker", | ||||||
"1 vaniljestang", | ||||||
"1 dl vand", | ||||||
"150 g pasteuriserede æggehvider" | ||||||
], | ||||||
"purpose": "Brændt marengs" | ||||||
} | ||||||
], | ||||||
"instructions_list": [ | ||||||
"Smelt smørret, og rør det sammen med mælken, til blandingen er lun. Rør gæren ud i mælkeblandingen, tilsæt yoghurt, æg, sukker, vaniljesukker og salt, og rør godt. Tilsæt hvedemelet lidt ad gangen, og ælt dejen godt sammen, til den er glat og smidig. Dæk skålen med et rent, fugtigt viskestykke, og lad dejen hæve et lunt sted i 1 time.", | ||||||
"Tag dejen ud på bordet, og tril den til lige store boller. Sæt dem på en bageplade beklædt med bagepapir, dæk med et rent, fugtigt viskestykke, og lad bollerne hæve i 30 minutter. Pensl bollerne med mælk, og bag dem i en 200° varm ovn i 10-12 minutter. Afkøl på en rist.", | ||||||
"Riv citronskallen fint, og pres saften af citronerne. Varm forsigtigt citronskal, citronsaft, sukker og æg op i en gryde ved svag varme. Tilsæt smør skåret i små tern, og pisk konstant over middel varme i ca. 10 minutter, til smørret er smeltet, og massen er tyknet. Det må ikke komme helt op at koge, for så skiller cremen!", | ||||||
"Tag gryden af varmen, hæld citroncremen på et rent glas, og sæt låg på. Lad citroncremen blive helt kold i køleskabet.", | ||||||
"Skær toppen af på hver bolle med en savtakket brødkniv (gem toppen!). Skrab forsigtigt en smule af indmaden ud af hver bolle. Læg ca. 2 tsk. lemoncurd i hullet på hver bolle, og læg toppen af bollen på igen.", | ||||||
"Flæk vaniljestangen, og skrab kornene ud. Bland sukker, vaniljekorn og vand i en gryde, og bring det i kog. Lad det koge, til sukkeret er smeltet, og temperaturen er på 120° (brug et sukker- eller stegetermometer). Pisk æggehviderne helt stive i en ren skål med en elpisker (eller på en røremaskine). Tilsæt den varme sukkerlage i en tynd stråle, mens du pisker kraftigt i 5-7 minutter. Pisk, indtil marengsen er blank og meget fast.", | ||||||
"Fyld marengsen i en sprøjtepose, og sprøjt den ud i pæne toppe oven på hver bolle. Brænd marengsen med en lille gasbrænder, så den får gyldne kanter. Servér fastelavnsbollerne straks med en god skefuld lemoncurd på toppen." | ||||||
], | ||||||
"category": "Desserter, Kager, Fastelavnsboller", | ||||||
"yields": "12 items", | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please see the comment above, regarding the yield formatting. |
||||||
"description": "Du kender de traditionelle danske fastelavnsboller, men du har sikkert ikke smagt vores engelske fortolkning med lemoncurd og brændt marengs. Forandring fryder!", | ||||||
"total_time": 60, | ||||||
"ratings": 4.0, | ||||||
"ratings_count": 2, | ||||||
"equipment": [ | ||||||
"en lille créme brûée-gasbrænder", | ||||||
"et sukker eller stegetermometer" | ||||||
], | ||||||
"nutrients": { | ||||||
"calories": "390 kcal", | ||||||
"fatContent": "16 g", | ||||||
"carbohydrateContent": "43 g", | ||||||
"proteinContent": "5 g" | ||||||
}, | ||||||
"image": "https://spisbedre-production-app.imgix.net/images/recipes/fastelavnsboller-med-lemoncurd-og-braendt-marengs_2317.jpg?fit=crop&crop=focalpoint&fp-x=0.5&fp-y=0.5501708984375&fp-z=1" | ||||||
} |
1,248 changes: 1,248 additions & 0 deletions
1,248
tests/test_data/spisbedre.dk/spisbedre_3.testhtml
Large diffs are not rendered by default.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can gather the yield info directly from the json without any custom logic!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's only partly true as spisbedre.dk only renders a numeric value for the recipeYield tag, which doesn't indicate if the yield is per person or a number of items.
From the get_yields function in _utils.py I gathered that yield should reflect either servings or items, I hope this is a correct assumption.
So, to get the exact indication, it's necessary to fetch the information from the JSON structure which isn't in the JSON-LD format hence the additional parsing.
The third test case (mentioned below) is a recipe for buns, and the yield is number of buns - I hope this makes sense.