public void SoundCloudTracksDownload(string page, SoundCloudTrackFound yield) { var c = new WebClient(); var data = c.DownloadString(new Uri(Source + "?page=" + page)); data.AtIndecies("'player mode medium {", p => { var json_stream = data.Substring(p.i + p.target.Length).TakeUntilIfAny("}'"); var title = data.Substring(p.i + p.target.Length).SkipUntilIfAny("}'").SkipUntilIfAny("<h3>").SkipUntilIfAny(">").TakeUntilIfAny("<"); #region get YieldValue get = (name, value) => { json_stream.AtIndecies("\"" + name + "\":\"", s => { value = json_stream.Substring(s.i + s.target.Length).TakeUntilIfAny("\""); } ); return(value); }; #endregion var uid = get("uid", ""); var streamUrl = get("streamUrl", "").TakeUntilIfAny("?"); //var trackName = get("trackName", ""); var waveformUrl = get("waveformUrl", ""); yield(uid, streamUrl, title, waveformUrl); } ); }
public void SoundCloudTracksDownload(string page, SoundCloudTrackFound yield) { var c = new WebClient(); var data = c.DownloadString(new Uri(Source + "?page=" + page)); data.AtIndecies("'player mode medium {", p => { var json_stream = data.Substring(p.i + p.target.Length).TakeUntilIfAny("}'"); var title = data.Substring(p.i + p.target.Length).SkipUntilIfAny("}'").SkipUntilIfAny("<h3>").SkipUntilIfAny(">").TakeUntilIfAny("<"); #region get YieldValue get = (name, value) => { json_stream.AtIndecies("\"" + name + "\":\"", s => { value = json_stream.Substring(s.i + s.target.Length).TakeUntilIfAny("\""); } ); return value; }; #endregion var uid = get("uid", ""); var streamUrl = get("streamUrl", "").TakeUntilIfAny("?"); //var trackName = get("trackName", ""); var waveformUrl = get("waveformUrl", ""); yield(uid, streamUrl, title, waveformUrl); } ); }