Exemple #1
0
        public static IList <IRegexableWebsite> ParseWebsite <T, U, V>(string rootURLText, Action <string> report)
            where T : IRegexableWebsite, new()
            where U : IRegexableWebsite, new()
            where V : IRegexableWebsite, new()
        {
            var initialScreenscrape = new WebScreenScrape <T>(rootURLText);

            initialScreenscrape.PopulateData();
            var secondScreenScrape = new WebScreenScrape <U>(rootURLText);

            secondScreenScrape.PopulateData();
            var thirdScreenScrape = new WebScreenScrape <V>(rootURLText);

            thirdScreenScrape.PopulateData();

            var allRegexables = new List <IRegexableWebsite>();

            allRegexables.AddRange(initialScreenscrape.SiteData.Cast <IRegexableWebsite>());
            allRegexables.AddRange(secondScreenScrape.SiteData.Cast <IRegexableWebsite>());
            allRegexables.AddRange(thirdScreenScrape.SiteData.Cast <IRegexableWebsite>());

            allRegexables.ForEach(a => a.Clean());

            return(allRegexables
                   .OrderBy(r => r.Identifier)
                   .ToList());
        }
Exemple #2
0
        public static IList <T> ParseImage <T>(IEnumerable <Uri> imageURLs, Action <string> report)
            where T : IReadableImage, IRegexableWebsite, new()
        {
            var imageReader = new ImageReader <T>();
            var siteImages  = WebScreenScrape <T> .GetWebpages(imageURLs, s => Image.FromStream(s));

            var returnList = new List <T>();

            foreach (var img in siteImages)
            {
                returnList.Add(imageReader.ConvertReadItems(imageReader.GetBitmaps(new T(), img)));
            }

            return(returnList);
        }
Exemple #3
0
        public static IRegexableWebsite ParseJson <T>(Uri jsonURL, Action <string> report)
            where T : IRegexableWebsite, new()
        {
            var jsonObject = WebScreenScrape <T> .GetWebpages <T>(new List <Uri>() { jsonURL },
                                                                  s =>
            {
                using (StreamReader sr = new StreamReader(s, Encoding.UTF8))
                {
                    string str = sr.ReadToEnd();
                    return(JsonConvert.DeserializeObject <T>(str));
                }
            });

            return(jsonObject.Cast <IRegexableWebsite>().First());
        }
Exemple #4
0
        public static IList <IRegexableWebsite> ParseWebsite <T>(Uri rootURI, Action <string> report, CookieContainer cookies = null)
            where T : IRegexableWebsite, new()
        {
            var initialScreenscrape = new WebScreenScrape <T>(rootURI);

            initialScreenscrape.PopulateData(cookies);

            var allRegexables = new List <IRegexableWebsite>();

            allRegexables.AddRange(initialScreenscrape.SiteData.Cast <IRegexableWebsite>());

            allRegexables.ForEach(a => a.Clean());

            return(allRegexables
                   .OrderBy(r => r.Identifier)
                   .ToList());
        }