2020-06-28 10:06:48 +00:00
|
|
|
import json
|
|
|
|
import re
|
|
|
|
from parsers.recipe import Recipe
|
|
|
|
|
|
|
|
class EssenUndTrinken(Recipe):
|
|
|
|
|
|
|
|
def get_json_recipe(self, d):
|
|
|
|
recipe = {}
|
|
|
|
|
|
|
|
recipe['name'] = d['name']
|
2020-07-02 20:43:28 +00:00
|
|
|
recipe['description'] = d.get('description', '')
|
2020-06-28 10:06:48 +00:00
|
|
|
recipe['ingredients'] = d['recipeIngredient']
|
2020-10-04 22:35:45 +00:00
|
|
|
recipe['instructions'] = d['recipeInstructions']
|
|
|
|
recipe['image'] = d['image'][0]['url']
|
2020-06-28 10:06:48 +00:00
|
|
|
|
|
|
|
return recipe
|
|
|
|
|
|
|
|
def Parse(self, url):
|
|
|
|
recipe = {}
|
|
|
|
recipe['url'] = url
|
|
|
|
recipe['source'] = 'essen-und-trinken.de'
|
|
|
|
|
|
|
|
soup = self.fetch_soup(url)
|
|
|
|
|
|
|
|
result = soup.find_all('script', {'type': 'application/ld+json'})
|
|
|
|
|
2020-10-04 22:35:45 +00:00
|
|
|
d = json.loads(result[0].contents[0])[0]
|
2020-06-28 10:06:48 +00:00
|
|
|
|
|
|
|
parsed_recipe = self.get_json_recipe(d)
|
|
|
|
recipe.update(parsed_recipe)
|
|
|
|
|
2020-10-04 22:35:45 +00:00
|
|
|
return recipe
|