Esempio n. 1
0
 public SiteReader(string url)
 {
     if (String.IsNullOrWhiteSpace(url))
     {
         throw new Exception("Invalid url.");
     }
     this.SiteInfo = new SiteInfo();
     this.SiteInfo.Content = GetContent(url);
     TryParseMeta(SiteInfo.Content, SiteInfo);
     this.SiteInfo.ImageUrls = ParseImages(SiteInfo.Content);
 }
Esempio n. 2
0
        private bool TryParseMeta(string strIn, SiteInfo siteInfo)
        {
            try
            {
                // Parse the title
                Match titleMatch = Regex.Match(strIn, @"<title>([^<]*)</title>", RegexOptions.IgnoreCase | RegexOptions.Multiline);
                siteInfo.MetaTitle = titleMatch.Groups[1].Value;

                // Parse the meta keywords
                Match keywordMatch = Regex.Match(strIn, @"<meta\s*name=""keywords""\s*content=""([^<]*)\""\s*/?>", RegexOptions.IgnoreCase | RegexOptions.Multiline);
                siteInfo.MetaKeywords = keywordMatch.Groups[1].Value;

                // Parse the meta description
                Match descriptionMatch = Regex.Match(strIn, @"<meta\s*name=""description""\s*content=""([^<]*)""\s*/?>", RegexOptions.IgnoreCase | RegexOptions.Multiline);
                siteInfo.MetaDescription = descriptionMatch.Groups[1].Value;

                return true;
            }
            catch
            {
                return false;
            }
        }