关于HtmlAgilityPack解析页面中数据乱码问题
生活随笔
收集整理的這篇文章主要介紹了
关于HtmlAgilityPack解析页面中数据乱码问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
第一種方式:?? ??public?static?HtmlDocument?LoadHtmlByUrls(string?url)????????{????????????HtmlDocument?htmldoc;????????????HtmlWeb?htmlWeb?=?new?HtmlWeb(); ?//不夠完善 ?此內(nèi)置方法導(dǎo)致中文亂碼????????????//htmlWeb.OverrideEncoding?=?Encoding.UTF8;????????????htmldoc?=?htmlWeb.Load(url);????????????Encoding?coding?=?htmldoc.StreamEncoding;????????????????????????????????????????????????htmlWeb.OverrideEncoding?=?coding;????????????????????????htmldoc?=?htmlWeb.Load(url);??????????????????????string?str?=?htmldoc.DocumentNode.InnerHtml;????????????return?htmldoc;????????}上面的方法解析大部分是沒有問題的,但是會(huì)經(jīng)常碰到解析亂碼的問題,那是因?yàn)閔tmlweb調(diào)用的是ie訪問。可能是它的不完善導(dǎo)致了訪問數(shù)據(jù)出現(xiàn)亂碼現(xiàn)象,我們可以用第二種自己定義請(qǐng)求訪問數(shù)據(jù)的方式來解析url的數(shù)據(jù)。第二種方式:? ? ? ?///?<summary>????????///?取得?url?對(duì)應(yīng)的?HtmlDocument?????????///?</summary>????????///?<param?name="url"></param>????????///?<returns>中文不亂碼(如果出了問題請(qǐng)用將上面的方法名改成當(dāng)前方法名即可)</returns>????????public?static?HtmlDocument?LoadHtmlByUrl(string?url)????????{????????????HtmlDocument?htmldoc?=?new?HtmlDocument();????????????HttpWebRequest?req;????????????req?=?WebRequest.Create(new?Uri(url))?as?HttpWebRequest;????????????req.Method?=?"GET";????????????WebResponse?rs?=?req.GetResponse();????????????Stream?rss?=?rs.GetResponseStream();????????????htmldoc.Load(rss);????????????string?str?=?htmldoc.DocumentNode.InnerHtml;????????????return?htmldoc;????????}以上兩種方式或許不是最好的方法,但是也算是一種經(jīng)驗(yàn)。
來自為知筆記(Wiz)
來自為知筆記(Wiz)
轉(zhuǎn)載于:https://www.cnblogs.com/JesseLu/p/3895115.html
總結(jié)
以上是生活随笔為你收集整理的关于HtmlAgilityPack解析页面中数据乱码问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个好听的吴姓名字!
- 下一篇: 你会看《小猪佩奇过大年》这部电影吗,为什