【问题标题】:How Cyrillic text can be parsed with HTMLAgilityPack?如何使用 HTMLAgilityPack 解析西里尔文文本?
【发布时间】:2018-03-19 13:30:09
【问题描述】:

在使用 HtmlAgilityPack 时遇到了问题。我无法解析西里尔文字,它显示为一些未知符号。

HtmlWeb webGet = new HtmlWeb();
webGet.OverrideEncoding = Encoding.UTF8;
HtmlAgilityPack.HtmlDocument doc = webGet.Load("http://vk.com/glitchhop");
HtmlNode myNode = doc.DocumentNode.SelectSingleNode("//div[@id='page_wall_posts']/*[2]//div[@class='wall_post_text']");
if (myNode != null)
    return myNode.InnerText;
else return "Nothing found";

还附上错误示例以及该文本的外观

【问题讨论】:

    标签: c# html parsing


    【解决方案1】:

    此问题与 HTMLAgilityPack 无关,是您使用的编码不正确造成的。

    您尝试解析的网页使用windows-1251 编码进行编码。

    因此,将 webGet.OverrideEncodingEncoding.UTF8 更改为 Encoding.GetEncoding(1251) 应该会对您有所帮助。

    【讨论】:

    • Omg) 这很有帮助。但据我所知,UTF-8 也是西里尔文字。嗯,我没想到 1251 给了我不同的结果。谢谢!
    猜你喜欢
    • 2019-07-24
    • 1970-01-01
    • 2012-07-17
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多