/// <summary> /// Fill by elements /// </summary> /// <param name="channel"></param> /// <returns></returns> public async Task FillChannelNetAsync(IChannel channel) { string zap = string.Format("{0}?mode=viewprofile&u={1}", profileUrl, channel.ID); string page = await SiteHelper.DownloadStringWithCookieAsync(new Uri(zap), channel.ChannelCookies); var doc = new HtmlDocument(); doc.LoadHtml(page); List <HtmlNode> title = doc.DocumentNode.Descendants("p") .Where(d => d.Attributes.Contains("class") && d.Attributes["class"].Value.Equals("small mrg_4")) .ToList(); if (title.Any()) { channel.Title = HttpUtility.HtmlDecode(title[0].InnerText).Trim(); } title = doc.DocumentNode.Descendants("p") .Where(d => d.Attributes.Contains("class") && d.Attributes["class"].Value.Equals("mrg_4")) .ToList(); if (title.Any()) { string img = title[0].FirstChild.Attributes["src"].Value; string link = string.Format("{0}/{1}", hostUrl, img); channel.Thumbnail = await SiteHelper.GetStreamFromUrl(link); } }
/// <summary> /// Get user releases. 0 - all /// </summary> /// <param name="channel"></param> /// <param name="maxresult"></param> /// <returns></returns> public async Task <IEnumerable <VideoItemPOCO> > GetChannelItemsAsync(IChannel channel, int maxresult) { var lst = new List <VideoItemPOCO>(); string zap = string.Format("{0}={1}", userUrl, channel.ID); string page = await SiteHelper.DownloadStringWithCookieAsync(new Uri(zap), channel.ChannelCookies); var doc = new HtmlDocument(); doc.LoadHtml(page); List <HtmlNode> links = doc.DocumentNode.Descendants("tr") .Where(d => d.Attributes.Contains("class") && d.Attributes["class"].Value.Equals("tCenter")) .ToList(); foreach (HtmlNode node in links) { var item = new VideoItemPOCO(); FillVideoItemPOCO(item, node, hostUrl); if (!string.IsNullOrEmpty(item.ID)) { lst.Add(item); } } if (maxresult == 0) { Thread.Sleep(500); IEnumerable <string> searchlinks = GetAllSearchLinks(doc); foreach (string link in searchlinks) { page = await SiteHelper.DownloadStringWithCookieAsync(new Uri(link), channel.ChannelCookies); doc = new HtmlDocument(); doc.LoadHtml(page); links = doc.DocumentNode.Descendants("tr") .Where(d => d.Attributes.Contains("class") && d.Attributes["class"].Value.Equals("tCenter")) .ToList(); foreach (HtmlNode node in links) { var item = new VideoItemPOCO(); FillVideoItemPOCO(item, node, hostUrl); if (!string.IsNullOrEmpty(item.ID)) { lst.Add(item); } } } Thread.Sleep(500); } return(lst); }