with open('dineOUT/story.txt') as f:
tracker=0
for line in f:
if '<a href=' in line:
d['Dessert']=[]
print('a href', re.sub('\s*<.*?>\s*', '',line))
d['Dessert'].append(re.sub('\s*<.*?>\s*', '',line).upper())
elif tracker==1:
if line != '\n':
print('tracker', line.rstrip('\n'))
d['Dessert'].append(line.rstrip('\n'))
tracker=0
else:
tracker=0
elif '<p class="list-dish-desc-details">' in line:
tracker=1
elif '<sup' in line:
print('digits',re.findall('[0-9\.]+', line))
digits=re.findall('[0-9\.]+', line)
d['Dessert'].append(float(digits[0]+digits[1]))
print(json.dumps(d))
Результат выполнения
(pr_env) $ python dineOUT/formDict.py
a href Coconut Grande
tracker A coconut lover's dream. Warm coconut cake topped with coconut-pineapple ice cream, fresh pineapple and toasted coconut, served in a fresh coconut.
digits ['9.', '99']
a href Lime Pie
tracker Our original. Handmade with brown sugar crust and golden meringue.
digits ['6.', '99']
a href Chocolate Island
tracker Rich chocolate mousse on a fudge brownie island in chocolate sauce and vanilla bean anglaise.
digits ['7.', '79']
a href Rum Cake
tracker An Island favorite made with Bacardi Oakheart Rum, topped with a handmade raisin butterscotch sauce and vanilla ice cream.</br>*Contains alcohol. Must be 21 to order. Eat responsibly.
digits ['7.', '49']
a href Banana Nut Bread Supreme
tracker Sliced bananas, vanilla ice cream on warm banana nut bread with hot butterscotch brandy sauce.
digits ['7.', '29']
a href Warm Chocolate Pineapple Upside-Down Cake
tracker A warm, rich chocolate cake with a chocolate molten center topped with caramelized pineapple, served with raspberry sauce and fresh Island fruit.
digits ['7.', '29']
a href Mango Sorbet with Tropical Fruit
digits ['1.', '99']
a href Vanilla Ice Cream with Chocolate Sauce
digits ['1.', '99']
"PASSION FRUIT MOCKTAIL", 3.95, "STRAWBERRY SMOOTHIE", 3.95, "PASSION FRUIT SMOOTHIE", 3.95], "Dessert": ["VANILLA ICE CREAM WITH CHOCOLATE SAUCE", 1.99]}
Это та часть словаря, где должны быть десерты.
Добавляется только последняя строка и цена.