human
I wrote the below code

    if (not HAS_BEAUTIFUL_SOUP):
        return None
    if (not html):
        return None
    def is_text_notcode(text):
        length = len(text)
        return ((length > 20) and (text.count('    ') > (length / 25)) and ((text.find('{') == (-1)) or (text.find(';') == (-1))))
    html = _scrape_strip_cruft(html)
    html = _scrape_merge_paragraphs(html)
    try:
        soup = BeautifulSoup(html, 'html.parser', parse_only=SoupStrainer(text=is_text_notcode))
    except HTMLParseError:
        return None
    strings = sorted(soup.stripped_strings, key=len, reverse=True)
    if strings:
        return strings[0]
    else:
        return None

What's a good function header?
assistant
#Here's a good function header.

def scrape_lyrics_from_html(html):