Я пытаюсь разобрать сайт рецептов, в котором его ингредиенты сгруппированы в отдельные категории, описанные тегом <strong>
в HTML, как показано ниже:
<div class="opskriften">
<p class="h3">Ingrediensliste</p>
<p></p>
<p><strong>Påskeæg med nougat (6 stk)</strong><br>150 g. marcipan <br>ca. 40 g. nougat<br>150 g. mørk chokolade <br>50 g. lys chokolade </p>
Мне удалось разделить ингредиенты на разные столбцы для количества, единицы и ингредиента, но я обнаружил, что пытаюсь создать еще один столбец для содержимого внутри тегов <strong>
.
Это код, который я использовал.
ingredients = soup.find('div', class_='opskriften')
#if len(ingredients.find_all('strong'))>0:
s = f"{ingredients}"
r = re.compile(r"(?P<amount>\d+)\s+(?P<unit>\w+.)\s+(?P<ingredient>.+?(?=<))")
df = pd.DataFrame([m.groupdict() for m in r.finditer(s)])
with open("somefile.csv", 'w') as fh:
df.to_csv(fh)
Я пытался поиграться с RegEx, но не смог найти никакого решения, чтобы заставить его работать.
изображение того, как выглядит мой сайт,