本文整理汇总了C#中HtmlAgilityPack.HtmlNode.GetClassName方法的典型用法代码示例。如果您正苦于以下问题:C# HtmlNode.GetClassName方法的具体用法?C# HtmlNode.GetClassName怎么用?C# HtmlNode.GetClassName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HtmlAgilityPack.HtmlNode
的用法示例。
在下文中一共展示了HtmlNode.GetClassName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateRawler
private RawlerBase CreateRawler(HtmlNode node)
{
RawlerBase rawler = null;
bool flag次のノードを調べる = true;
if (RawlerExpressLib.Automation.Extend.HTMLExtend.TargetAnalyzeTag.Contains(node.Name))
{
Tags tags = new Tags() { Tag = node.Name };
if (node.Attributes.Where(n => n.Name == "class").Any())
{
tags.ClassName = node.Attributes.Where(n => n.Name == "class").First().Value;
}
if (node.Attributes.Where(n => n.Name == "id").Any())
{
tags.IdName = node.Attributes.Where(n => n.Name == "id").First().Value;
}
if (node.ChildNodes.Count() == 1 && node.ChildNodes.Where(n => n.Name == "#text").Any())
{
tags.AddChildren(new DataWrite() { Attribute = GetCategoryName() + tags.ClassName });
flag次のノードを調べる = false;
}
if (node.Attributes.Where(n => n.Name == "style" && n.Value.Contains("background")).Any())
{
tags.TagVisbleType = TagVisbleType.Outer;
rawler = tags.Add(new ImageLinks() { ImageType = ImageType.BackgroundImage }).DataWrite(CategoryName + "." + node.GetClassName() + "_Image", DataAttributeType.Image).GetRoot();
}
rawler = tags;
}
else if (node.Name == "a")
{
var url = node.OuterHtml.ToHtml(baseUrl).GetLink().FirstDefault<RawlerLib.Web.Link, string>(n => n.Url, null);
if (url != null)
{
{
rawler = new Links() { VisbleType = LinkVisbleType.Tag }.AddRange(
new Links() { VisbleType = LinkVisbleType.Url }.DataWrite(GetCategoryName() + node.GetClassName() + "_Link").GetRoot(),
new Links() { VisbleType = LinkVisbleType.Label }.DataWrite(GetCategoryName() + node.GetClassName() + "_Label").GetRoot()
);
}
}
else
{
//URLがないAタグの場合。
Tags tags = new Tags() { Tag = node.Name };
if (node.Attributes.Where(n => n.Name == "class").Any())
{
tags.ClassName = node.Attributes.Where(n => n.Name == "class").First().Value;
}
if (node.Attributes.Where(n => n.Name == "id").Any())
{
tags.IdName = node.Attributes.Where(n => n.Name == "id").First().Value;
}
rawler = tags;
}
if (node.ChildNodes.Count == 1 && node.ChildNodes.Where(n => n.Name == "#text").Any())
{
flag次のノードを調べる = false;
}
}
else if (node.Name == "img")
{
var url = node.OuterHtml.ToHtml(baseUrl).GetImageLink().FirstDefault(n => n.Url, null);
if (url != null)
{
rawler = new ImageLinks().DataWrite(GetCategoryName() + node.GetClassName() + "_Image", DataAttributeType.Image).GetRoot();
}
}
///背景画像に反応させる。
else if (node.Attributes.Where(n => n.Name == "style" && n.Value.Contains("background")).Any())
{
rawler = new ImageLinks() { ImageType = ImageType.BackgroundImage }.DataWrite(GetCategoryName() + node.GetClassName() + "_Image", DataAttributeType.Image).GetRoot();
}
else if (node.Name == "span")
{
Tags tags = new Tags() { Tag = node.Name };
if (node.Attributes.Where(n => n.Name == "class").Any())
{
tags.ClassName = node.Attributes.Where(n => n.Name == "class").First().Value;
}
if (node.ChildNodes.Count() == 1 && node.ChildNodes.Where(n => n.Name == "#text").Any())
{
tags.AddChildren(new DataWrite() { Attribute = GetCategoryName() + tags.ClassName });
flag次のノードを調べる = false;
}
rawler = tags;
}
else
{
var t = node.OuterHtml.Replace("\n", "").Trim();
if (t.Length > 0)
{
rawler = new TagClear().Trim().Add(new DataWrite() { Attribute = GetCategoryName() + node.GetClassName() + "_" + node.Name }).GetRoot();
if (node.ChildNodes.Count == 1 && node.ChildNodes.Where(n => n.Name == "#text").Any())
{
//.........这里部分代码省略.........
示例2: CreateRawler
public RawlerBase CreateRawler(HtmlNode node)
{
var baseUrl = BaseUrl;
RawlerBase rawler = null;
bool flag次のノードを調べる = true;
if (targetTag.Contains(node.Name))
{
Tags tags = new Tags() { Tag = node.Name };
if (node.Attributes.Where(n => n.Name == "class").Any())
{
tags.ClassName = node.Attributes.Where(n => n.Name == "class").First().Value;
}
if (node.Attributes.Where(n => n.Name == "id").Any())
{
tags.IdName = node.Attributes.Where(n => n.Name == "id").First().Value;
}
if (node.ChildNodes.Count() == 1 && node.ChildNodes.Where(n => n.Name == "#text").Any())
{
tags.AddChildren(new DataWrite() { Attribute = tags.ClassName });
flag次のノードを調べる = false;
}
if (node.Attributes.Where(n => n.Name == "style" && n.Value.Contains("background")).Any())
{
tags.TagVisbleType = TagVisbleType.Outer;
rawler = tags.Add(new ImageLinks() { ImageType = ImageType.BackgroundImage }).DataWrite(node.GetClassName() + "_Image", DataAttributeType.Image).GetRoot();
}
rawler = tags;
}
else if (node.Name == "a")
{
var resultUrlTFIDF = urlTfidf.GetResult(node.OuterHtml.ToHtml(baseUrl).GetLink().Select(n => n.Url));
var url = node.OuterHtml.ToHtml(baseUrl).GetLink().FirstDefault<RawlerLib.Web.Link, string>(n => n.Url, null);
if (url != null)
{
//IDF が0以下の時、すべてのドキュメントで存在する。
if (urlTfidf.IDFDic.GetValueOrDefault(url) !=null && urlTfidf.IDFDic.GetValueOrDefault(url).Value <= 0)
{
rawler = null;
flag次のノードを調べる = false;
}
else
{
if (resultUrlTFIDF.GetTakeTopValue(n => n.TFIDF).Where(n => n.Word == url).Any())
{
rawler = new Links() { VisbleType = LinkVisbleType.Tag }.AddRange(
new Links() { VisbleType = LinkVisbleType.Url }.DataWrite(node.GetClassName() + "_MainLink", DataAttributeType.Url).GetRoot());
if (node.ChildNodes.Count == 1 && node.ChildNodes.First().Name == "#text")
{
rawler.Add(new Links() { VisbleType = LinkVisbleType.Label }.DataWrite(node.GetClassName() + "_MainLabel").GetRoot());
}
}
else
{
rawler = new Links() { VisbleType = LinkVisbleType.Tag }.AddRange(
new Links() { VisbleType = LinkVisbleType.Url, Enable = enableGetSubUrlLink }.DataWrite(node.GetClassName() + "_SubLink").GetRoot(),
new Links() { VisbleType = LinkVisbleType.Label }.DataWrite(node.GetClassName() + "_SubLabel").GetRoot()
);
}
}
}
else
{
//URLがないAタグの場合。
Tags tags = new Tags() { Tag = node.Name };
if (node.Attributes.Where(n => n.Name == "class").Any())
{
tags.ClassName = node.Attributes.Where(n => n.Name == "class").First().Value;
}
if (node.Attributes.Where(n => n.Name == "id").Any())
{
tags.IdName = node.Attributes.Where(n => n.Name == "id").First().Value;
}
rawler = tags;
}
if (node.ChildNodes.Count == 1 && node.ChildNodes.Where(n => n.Name == "#text").Any())
{
flag次のノードを調べる = false;
}
}
else if (node.Name == "img")
{
var resultImgeTFIDF = imageTfidf.GetResult(node.OuterHtml.ToHtml(baseUrl).GetImageLink().Select(n => n.Url));
var url = node.OuterHtml.ToHtml(baseUrl).GetImageLink().FirstDefault(n => n.Url, null);
if (url != null)
{
if (imageTfidf.IDFDic.Count>0 && imageTfidf.IDFDic.GetValueOrDefault(url).Value <= 0)
{
rawler = null;
flag次のノードを調べる = false;
}
else
{
if (resultImgeTFIDF.GetTakeTopValue(n => n.TFIDF).Where(n => n.Word == url).Any())
{
rawler = new ImageLinks().DataWrite(node.GetClassName() + "_Image", DataAttributeType.Image).GetRoot();
//.........这里部分代码省略.........