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); } }
/// <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); }