当前位置: 首页>>代码示例>>C#>>正文


C# HtmlDocument.FindTagsByName方法代码示例

本文整理汇总了C#中HtmlDocument.FindTagsByName方法的典型用法代码示例。如果您正苦于以下问题:C# HtmlDocument.FindTagsByName方法的具体用法?C# HtmlDocument.FindTagsByName怎么用?C# HtmlDocument.FindTagsByName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在HtmlDocument的用法示例。


在下文中一共展示了HtmlDocument.FindTagsByName方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ExtractCss

 private static string ExtractCss(HtmlDocument doc)
 {
     var styleTags = doc.FindTagsByName("style", "link").ToArray();
     var css = new StringBuilder();
     foreach (var tag in styleTags)
     {
         if (tag.IsType("style"))
             css.AppendLine(tag.ChildElements.ToSeparatedString(" "));
         else if (tag.IsType("link") && (string.Compare(tag.Attributes["type"], "text/css", true) == 0 || string.Compare(tag.Attributes["rel"], "stylesheet") == 0))
         {
             var src = tag.Attributes["href"];
             if (string.IsNullOrEmpty(src))
                 continue;
             var uri = new Uri(src, UriKind.RelativeOrAbsolute);
             if (!uri.IsAbsoluteUri && HttpContext.Current != null && HttpContext.Current.Request != null)
             {
                 uri = new Uri(HttpContext.Current.Request.Url, uri);
             }
             if (!uri.IsAbsoluteUri)
                 continue;
             var client = new WebClient();
             css.Append(client.DownloadString(uri));
         }
     }
     foreach (var tag in styleTags)
     {
         tag.Remove();
     }
     return css.ToString();
 }
开发者ID:jeppe-andreasen,项目名称:LinqIt-Libraries,代码行数:30,代码来源:CssInliner.cs

示例2: DoExtractContent

        private void DoExtractContent(CrawlData crawlData)
        {
            var text = _indexStrips.Aggregate(crawlData.OriginalContent, (current, strip) => StripText(current, strip.Key, strip.Value));
            var html = new HtmlDocument(text);

            crawlData.Title = html.FindTagsByName("title").Select(t => t.InnerText).FirstOrDefault();

            var metaData = new CaseInvariantNameValueCollection();
            foreach (var keyValue in html.FindTagsByName("meta").Select(GetKeyValue).Where(keyValue => keyValue.HasValue))
            {
                if (metaData.HasKey(keyValue.Value.Key))
                    throw new ApplicationException("Duplicate meta tags:" + keyValue.Value.Key);
                metaData.Append(keyValue.Value.Key, keyValue.Value.Value);
            }
            crawlData.MetaData = metaData.ToDictionary();
            crawlData.FilteredContent = html.ExtractContent();
        }
开发者ID:jeppe-andreasen,项目名称:LinqIt-Libraries,代码行数:17,代码来源:HtmlFilter.cs

示例3: DoExtractLinks

        private void DoExtractLinks(CrawlData data)
        {
            var text = _followStrips.Aggregate(data.OriginalContent, (current, strip) => StripText(current, strip.Key, strip.Value));

            var html = new HtmlDocument(text);
            data.Links = html.FindTagsByName("a").Select(a => a.Attributes["href"]).ToArray();
        }
开发者ID:jeppe-andreasen,项目名称:LinqIt-Libraries,代码行数:7,代码来源:HtmlFilter.cs

示例4: ExtractBodyTag

 private static HtmlTag ExtractBodyTag(HtmlDocument htmlDocument)
 {
     return htmlDocument.FindTagsByName("body").FirstOrDefault();
 }
开发者ID:jeppe-andreasen,项目名称:LinqIt-Libraries,代码行数:4,代码来源:CssInliner.cs


注:本文中的HtmlDocument.FindTagsByName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。