public static OpenGraphResult ParseHtml(string content)
        {
            var result = new OpenGraphResult();
            var document = new HtmlDocument();
            document.LoadHtml(content);

            var allMeta = document.DocumentNode.SelectNodes("//meta");

            var openGraphMetaTags = from meta in allMeta
                                    where (meta.Attributes.Contains("property")
                                           && meta.Attributes["property"].Value.StartsWith("og:")) ||
                                          (meta.Attributes.Contains("name") &&
                                           meta.Attributes["name"].Value.StartsWith("og:"))
                                    select meta;

            foreach (var metaTag in openGraphMetaTags)
            {
                var value = GetOpenGraphValue(metaTag);
                var property = GetOpenGraphKey(metaTag);
                if (string.IsNullOrWhiteSpace(value))
                    continue;
                result.Add(property, value);
            }
            result.PageData = new PageData();
            result.PageData.Title = document.DocumentNode.SelectSingleNode("//head/title").InnerText;
            return result;
        }