本文整理汇总了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();
}
示例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();
}
示例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();
}
示例4: ExtractBodyTag
private static HtmlTag ExtractBodyTag(HtmlDocument htmlDocument)
{
return htmlDocument.FindTagsByName("body").FirstOrDefault();
}