class AZLyrics
Fetches the lyrics from AZLyrics.com Lyrics are stored accessed via the URL schema www.azlyrics.com/lyrics/ARTIST/SONG.html They are inside /html/body/div[2]/div/div/div, sadly no class to access. There are hidden comments, which need to be removed.
Public Instance Methods
get_lyrics(artist, song, limit = 10)
click to toggle source
# File lib/wiki/azlyrics.rb, line 10 def get_lyrics(artist, song, limit = 10) artist = artist.delete(' ').gsub(/('|`|´|’|\?|\(|\))/, '').parameterize song = song.delete(' ').gsub(/('|`|´|’|\?|\(|\))/, '').gsub(/(?:\(?feat.*\)?)/, '').parameterize res = fetch("https://www.azlyrics.com/lyrics/#{artist.downcase}/#{song.downcase}.html", limit) return nil unless res.is_a? Net::HTTPSuccess lyrics = Nokogiri::HTML(res.body).xpath('/html/body/div[2]/div/div[2]/div[5]') prettify_lyrics(lyrics) end
prettify_lyrics(lyrics)
click to toggle source
# File lib/wiki/azlyrics.rb, line 21 def prettify_lyrics(lyrics) lyrics.search('.//comment()').remove lyrics.inner_html.gsub('<br>', "\r").delete("\n").sub("\r\r", '') end