关于HtmlAgilityPack解析页面中数据乱码问题
生活随笔
收集整理的這篇文章主要介紹了
关于HtmlAgilityPack解析页面中数据乱码问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
第一種方式:?? ??public?static?HtmlDocument?LoadHtmlByUrls(string?url)????????{????????????HtmlDocument?htmldoc;????????????HtmlWeb?htmlWeb?=?new?HtmlWeb(); ?//不夠完善 ?此內(nèi)置方法導致中文亂碼????????????//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;????????}上面的方法解析大部分是沒有問題的,但是會經(jīng)常碰到解析亂碼的問題,那是因為htmlweb調(diào)用的是ie訪問。可能是它的不完善導致了訪問數(shù)據(jù)出現(xiàn)亂碼現(xiàn)象,我們可以用第二種自己定義請求訪問數(shù)據(jù)的方式來解析url的數(shù)據(jù)。第二種方式:? ? ? ?///?<summary>????????///?取得?url?對應(yīng)的?HtmlDocument?????????///?</summary>????????///?<param?name="url"></param>????????///?<returns>中文不亂碼(如果出了問題請用將上面的方法名改成當前方法名即可)</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)驗。
來自為知筆記(Wiz)
來自為知筆記(Wiz)
轉(zhuǎn)載于:https://www.cnblogs.com/JesseLu/p/3895115.html
總結(jié)
以上是生活随笔為你收集整理的关于HtmlAgilityPack解析页面中数据乱码问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个好听的吴姓名字!
- 下一篇: codeforces 165B(Burn