import bs4 def strip_html_tags(html: str | None) -> str: if html is None: return "" soup = bs4.BeautifulSoup(html, "html.parser") for tag in soup(["script", "style", "noscript", "template"]): tag.decompose() return " ".join(soup.get_text(separator=" ", strip=True).split())