import re import urllib.request import markovify from time import sleep def scrape(): originalLyrics = open('lyrics.txt', 'w') url = "https://www.azlyrics.com/l/linkinpark.html" artistHtml = urllib.request.urlopen(url) artistHtmlStr = str(artistHtml.read()) links = re.findall('href="([^"]+)"', artistHtmlStr) songLinks = [] songLinksTxt = open("linkinpark-links.txt", 'w') for x in links: if "lyrics/linkinpark" in x: x = x.replace("..", "") x = "https://www.azlyrics.com" + x songLinks.append(x) songLinksTxt.write(x+'\n') songLinksTxt.close() # songLinksTxt = open("linkinpark-links.txt", 'r').readlines() # for x in songLinksTxt: # songLinks.append(x) print("# Links:", len(songLinks)) for x in songLinks: songHtml = urllib.request.urlopen(x) songHtmlStr = str(songHtml.read()) split = songHtmlStr.split('', 1) splitHtml = split[1] split = splitHtml.split('', 1) lyrics = split[0] lyrics = lyrics.replace('
', '\n') lyrics = lyrics.replace('\\', '') lyrics = lyrics.replace('\nn', '\n') lyrics = lyrics.replace('', '') lyrics = lyrics.replace('', '') lyrics = lyrics.replace('[Chorus]', '') originalLyrics.write(lyrics) print("\t--", x) sleep(5) originalLyrics.close() # scrape() generatedLyrics = () file = open('lyrics.txt', 'r') text = file.read() markovifyTextModel = markovify.Text(text) generatedLyrics = markovifyTextModel.make_sentence() print(generatedLyrics)