会有任何差异或性能差异这两个网页加载方法- html敏捷包

本文关键字:加载 方法 网页 两个 html 任何差 性能 | 更新日期: 2023-09-27 18:12:18

目前我使用c# 4.0和htmlililitypack 1.4.0下载网页和提取信息。

可以通过使用htmlilitypack

来下载网页
        HtmlWeb hw = new HtmlWeb();
        HtmlDocument myDoc = hw.Load("URL");

但是你不能用这种方式设置编码。因此,为了能够设置编码,下面的方法是有效的。

        HtmlDocument  myDoc=new HtmlDocument();         
        StreamReader reader = new StreamReader(WebRequest.Create(textBox1.Text).GetResponse().GetResponseStream(), Encoding.GetEncoding("iso-8859-9")); //put your encoding            
        myDoc.Load(reader);

但是我想知道这两种方法之间是否有任何差异或性能差异。这两种方法的优缺点是什么?谢谢你。

c# 4.0, wpf, htmllagilitpack,抓取页面

会有任何差异或性能差异这两个网页加载方法- html敏捷包

这两种方式没有区别。HtmlWeb.Load(string url)内部调用HtmlDocument.Load(TextReader reader)作为以下HtmlWeb。加载(字符串url)调用堆栈,我使用。net反射器查看。

HtmlWeb.Load(string url)
----> HtmlDocument.Load(string url, Encoding encoding(=this.OverrideEncoding))
----> HtmlDocument.Load(TextReader reader)

这告诉你可以使用HtmlWeb。OverrideEncoding属性来设置编码,如果你没有设置编码,就调用HtmlWeb。加载(字符串url), HtmlWeb.Load(string url)将调用HtmlDocument.DetectEncodingAndLoad(string path, bool detectEncoding(=true))