Ejemplo n.º 1
0
        public static Scrap GetScrap(string url)
        {
            Scrap scrap = new Scrap();

            string[]      imgs       = new string[100];
            List <string> lstUrl     = new List <string>();
            List <string> TempImages = new List <string>();

            try
            {
                lstUrl = GetUrlList(url);

                string validUrl = GetValidUrl(lstUrl);

                if (!string.IsNullOrWhiteSpace(validUrl))
                {
                    string s2 = GetHtmlPage(validUrl);

                    scrap.url = validUrl;
                    var metadata = MetaDescription(s2);
                    scrap.description = (string.IsNullOrEmpty(metadata.desc) ? "" : metadata.desc);

                    if (!string.IsNullOrEmpty(metadata.image))
                    {
                        TempImages.Add(metadata.image);
                    }
                    else
                    {
                        var images = GetRegImages(s2);
                        foreach (var item in images)
                        {
                            if (item.ToLower().Contains("logo"))
                            {
                                TempImages.Insert(0, item);

                                break;
                            }
                            else
                            {
                                TempImages.Add(item);
                            }
                            //TempImages.Add(item);
                        }
                    }

                    List <string> PerfactImageUrls;

                    var task = Task.Run(() => formatImageUrl(TempImages, url));

                    if (task.Wait(TimeSpan.FromSeconds(2)))
                    {
                        PerfactImageUrls = task.Result.ToList <string>();
                        scrap.lstImages  = PerfactImageUrls.Take(4).ToArray();
                    }
                    scrap.title = GetTitle(s2);
                }

                return(scrap);
            }
            catch (Exception ex)
            {
                scrap.title       = "Preview not available";
                scrap.description = "Preview not available";

                return(scrap);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Get preview data from image
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public UrlPerview GetUrlPerview(string url)
        {
            if (string.IsNullOrEmpty(url))
            {
                return(new UrlPerview());
            }

            UrlPerview scrap = new UrlPerview();

            string[]      imgs       = new string[100];
            List <string> lstUrl     = new List <string>();
            List <string> TempImages = new List <string>();

            lstUrl = GetUrlList(url);

            string validUrl = GetValidUrl(lstUrl);

            if (!string.IsNullOrWhiteSpace(validUrl))
            {
                string s2 = GetHtmlPage(validUrl);

                scrap.Url = validUrl;
                var metadata = MetaDescription(s2);
                scrap.Description = (string.IsNullOrEmpty(metadata.Desc) ? "" : metadata.Desc);

                if (!string.IsNullOrEmpty(metadata.Image))
                {
                    TempImages.Add(metadata.Image);
                }
                else
                {
                    var images = GetRegImages(s2);
                    foreach (var item in images)
                    {
                        if (item.ToLower().Contains("logo"))
                        {
                            TempImages.Insert(0, item);

                            break;
                        }
                        else
                        {
                            TempImages.Add(item);
                        }
                    }
                }

                List <string> PerfactImageUrls;

                var task = Task.Run(() => formatImageUrl(TempImages, url));

                if (task.Wait(TimeSpan.FromSeconds(2)))
                {
                    PerfactImageUrls = task.Result.ToList <string>();
                    scrap.ListImages = PerfactImageUrls.Take(4).ToList();
                }
                scrap.Title = GetTitle(s2);
            }
            else
            {
            }

            return(scrap);
        }