Permalänk
Medlem

Parsa html med beautiful soup

def crap(soup): VALID_TAGS = 'td' for tag in soup.findAll(True): if tag.name not in VALID_TAGS: for i, x in enumerate(tag.parent.contents): if x == tag: break else: continue for r in reversed(tag.contents): tag.parent.insert(i, r) tag.extract() return soup

def remove(soup, tagname): for tag in soup.findAll(tagname): contents = tag.contents parent = tag.parent tag.extract() return soup

Jag har en HTML-fil jag vill parsa, DVS ta bort allt utom viss klartext. Den övre kodsnutten lyckas inte ta bort en div med innehåller som jag vill ha bort, den undre kodsnutten tar bort exakt allt i hela dokumentet då jag jag har div som anropsparameter.

Det jag vill göra är alltså att ta bort <div> innehåll </div>.

den div den inte lyckas med:

<div style="height: 345px; width: 474px; border: 3px solid #111853; text-align: center; vertical-align: center;"> usdoufdso gsgsg </div>

Vad göra och hur?

Visa signatur

Citera om du vill ha svar.

Permalänk
Medlem

Vad är det du vill göra egentligen? När du parsar "<div> innehåll </div>", vad vill du att resultatet ska vara? "<div> innehåll </div>", "<div></div>", "innehåll", eller ""?

Permalänk
Medlem
Skrivet av hhnrk:

Vad är det du vill göra egentligen? När du parsar "<div> innehåll </div>", vad vill du att resultatet ska vara? "<div> innehåll </div>", "<div></div>", "innehåll", eller ""?

Meningen är att resultatet skall vara "".

Visa signatur

Citera om du vill ha svar.