public async Task <string> GetLyrics(string track, string artist) { var response = await this.lastFmClient.Track.GetInfoAsync(track, artist); if (response.Success || !ReferenceEquals(response.Content, null)) { var page = new HtmlWeb().Load(response.Content.Url.OriginalString) .DocumentNode .Descendants("a") .Where(d => d.Attributes.Contains("class") && d.Attributes["class"].Value.Equals("external-link")); var htmlNodes = page.ToList(); if (htmlNodes.Any()) { page = new HtmlWeb().Load(htmlNodes.First() .GetAttributeValue("href", "empty")) .DocumentNode.Descendants("p") .Where(d => d.Attributes.Contains("class") && d.Attributes["class"].Value.Contains("verse")); var lyricsCollection = page.Select(x => x.InnerText); var res = lyricsCollection.Aggregate("", (current, row) => current + "\n" + row).Replace("\"", "\'"); return(res); } } return(""); }