Beispiel #1
0
        /// <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);
            }
        }
Beispiel #2
0
        /// <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);
        }