forked from hhursev/recipe-scrapers
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrealsimple.py
31 lines (22 loc) · 938 Bytes
/
realsimple.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from ._abstract import AbstractScraper
from ._utils import get_minutes, normalize_string
class RealSimple(AbstractScraper):
@classmethod
def host(self):
return 'realsimple.com'
def title(self):
return self.soup.find('h1').get_text(strip=True)
def total_time(self):
return get_minutes(self.soup.find('time', {'itemprop': 'totalTime'}))
def ingredients(self):
ingredients_html = self.soup.findAll('ol', {'class': "ingredient-list"})[0]
return [
normalize_string(ingredient.get_text())
for ingredient in ingredients_html.findAll('span', {'itemprop': 'ingredients'})
]
def instructions(self):
instructions_html = self.soup.find('section', {'itemprop': 'recipeInstructions'})
return '\n'.join([
normalize_string(instruction.get_text())
for instruction in instructions_html.findAll('li')
])