from bs4 import BeautifulSoup import re # import os import sys import requests def scrape_song_lyrics(url): page = requests.get(url) html = BeautifulSoup(page.text, 'html.parser') lyrics = str(html.find( 'div', # class_='lyrics-root-pin-spacer', class_='Lyrics__Container-sc-1ynbvzw-1 kUgSbL' )) # remove identifiers like chorus, verse, etc lyrics = re.sub(r'[\(\[].*?[\)\]]', '', lyrics) lyrics = re.sub(r'<.*?>', '\n', lyrics) # remove empty lines # lyrics = os.linesep.join([s for s in lyrics.splitlines() if s]) lyrics = "\n".join([s for s in lyrics.split("\n") if s]) return lyrics print(scrape_song_lyrics(sys.argv[1]))