摘要:当一个被采集的网页是开启压缩了的话,如果使用HtmlAgilityPack 的HtmlWeb默认配置去下载,下载回来的HTML代码是乱码,应该进行如下操作 而如果仅仅只是网页的编码问题,则只需要配置这个参数:
阅读全文
|
随笔分类 - 框架:HtmlAgilityPack HTML解析
HTML解析
摘要:当一个被采集的网页是开启压缩了的话,如果使用HtmlAgilityPack 的HtmlWeb默认配置去下载,下载回来的HTML代码是乱码,应该进行如下操作 而如果仅仅只是网页的编码问题,则只需要配置这个参数:
阅读全文
摘要:HtmlWeb类是一个从网络上获取一个HTML文档的类,其提供的功能大多是基于完成此需求出发。现在来来HtmlWeb类有哪些方法以及属性。 一、属性 bool AutoDetectEncoding { get; set; } 获取或设置一个值,该值指示是否必须将自动检测文档编码。 bool CacheOnly { get; set; } 获取或设置一个值,该值指示是否只从缓存中获取的文档。如果此设置为 true 并且文档未找到在缓存中,并不会加载。 string CachePath { get; set; } ...
阅读全文
摘要:HtmlDocument类对应着一个HTML文档代码。它提供了创建文档,装载文档,修改文档等等一系列功能,来看看它提供的功能。一、属性 int CheckSum { get; } 如果 OptionComputeChecksum 设置为 true 之前解析,0 否则获取文档 CRC32 校验和。 Encoding DeclaredEncoding { get; } 获取文档的声明的编码。声明确定编码使用 meta http-equiv ="内容类型"内容 ="文本/html ; charset = XXXXX"html 节点。 ...
阅读全文
摘要:在HtmlAgilityPack里,HtmlTextNode对应的是文本节点。这是一个非常简单的一个类,方法和字段都比较少。一、属性override string InnerHtml { get; set; } 文本内的HTML代码(不包括自身)override string OuterHtml { get; } 整个文本节点的Html代码string Text { get; set; } 文本字符串二、方法 internal HtmlTextNode(HtmlDocument ownerdocument, int index); 代码示例: ...
阅读全文
摘要:HtmlAttribute 在HtmlAgilityPack扮演的是一个HTML代码属性的容器,同时提供了用于处理HTML属性的一些功能。一、属性 int Line { get; } 获取文档中的此属性的行数。 int LinePosition { get; } 获取文档中此属性所在列数 string Name { get; set; } 当前属性的名称 string OriginalName { get; } 当前属性未经更改的属性 HtmlDocument OwnerDocument { get; } 返回当前属性所在的文档引用 ...
阅读全文
摘要:HtmlNodeType是一个枚举,用于说明一个节点的类型。源代码如下所示: public enum HtmlNodeType { Document = 0, Element = 1, Comment = 2, Text = 3, }1、Document 是文档2、Element 是元素节点3、Conment 是注释节点4、Text 是文本节点
阅读全文
摘要:HtmlAgilityPack中的HtmlNode类与XmlNode类差不多,提供的功能也大同小异。下面来看看该类提供功能。一、静态属性public static Dictionary //ElementsFlags;获取集合的定义为特定的元素节点的特定行为的标志。表包含小写标记名称作为键和作为值的 HtmlElementFlags 组合 DictionaryEntry 列表。public static readonly string HtmlNodeTypeNameComment; //获取一个注释节点的名称。实际上,它被定义为 '#commentpublic static read
阅读全文
摘要:HtmlAgilityPack是.net下的一个HTML解析类库。支持用XPath来解析HTML。这个意义不小,为什么呢?因为对于页面上的元素的xpath某些强大的浏览器能够直接获取得到,并不需要手动写。节约了大半写正则表达式的时间,当然正则表达式有时候在进一步获取的时候还需要写,但是通过xpath解析之后,正则表达式已经要匹配的范围已经非常小了。而且,不用正则表达式在整个页面源代码上匹配,速度也会有提升。总而言之,通过该类库,先通过浏览器获取到xpath获取到节点内容然后再通过正则表达式匹配到所需要的内容,无论是开发速度,还是运行效率都有提升。 HtmlAttribute 对应 H...
阅读全文
|