Testade mig fram i Python och lyckades skriva denna:
menu = ditt exempel
re.findall("<dt>.*?</dt>\s*?<dd>(.*?)</dd>", menu)
>>['K\xf6ttbullar, potatismos och lingon', 'Raggmunk, stekt fl\xe4sk och lingonsylt', 'Gretas hemlagade pytt, stekt \xe4gg och r\xf6dbetor', '\xc4rtsoppa/Hedvigsoppa, pannkaka, sylt och gr\xe4dde', 'Benfri kotlett, potatis, gr\xe4dds\xe5s och \xe4ppelmos']
åäö ser konstigt ut i tolken, inget att bry sig om. Resultatet blir iaf en lista av maträtter som finns i menyn.
Alternativ:
re.findall("<dt>(.*?)</dt>\s*?<dd>(.*?)</dd>", menu)
>>[('M\xe5ndag', 'K\xf6ttbullar, potatismos och lingon'), ('Tisdag', 'Raggmunk, stekt fl\xe4sk och lingonsylt'), ('Onsdag', 'Gretas hemlagade pytt, stekt \xe4gg och r\xf6dbetor'), ('Torsdag', '\xc4rtsoppa/Hedvigsoppa, pannkaka, sylt och gr\xe4dde'), ('Fredag', 'Benfri kotlett, potatis, gr\xe4dds\xe5s och \xe4ppelmos')]
då blir det en lista med listor där element1 är dagen och element2 maträtten.