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