1

我试图解析http://www.wein-wg.de/wwg/rheinhessen/worms-pfeddersheim/weingut-goldschmidt/但无法获得正确的字符集。该网站使用 iso-8859-1。不知何故,所有 unicode 字符都显示为?在 Visual Studio 中。

是否有可能将其转移到 Visual Studio 或其他任何地方的正确字符集?

4

3 回答 3

2
using HtmlAgilityPack;

HtmlDocument doc;
HtmlWeb web = new HtmlWeb();

private void getPage(string url)
{
    web.OverrideEncoding = Encoding.GetEncoding("iso-8859-1");
    doc = web.Load(url);
    webBrowser1.DocumentText = doc.DocumentNode.OuterHtml;
}

getPage("http://www.wein-wg.de/wwg/rheinhessen/worms-pfeddersheim/weingut-goldschmidt/");
于 2013-02-10T04:20:53.090 回答
2

解决了:

HtmlWeb Webget = new HtmlWeb();
HtmlDocument doc = new HtmlDocument();
Webget.AutoDetectEncoding = false;
Webget.OverrideEncoding = Encoding.UTF8;

doc_tmp.OptionOutputAsXml = true;
doc_tmp.OptionReadEncoding = true;
doc_tmp.OptionFixNestedTags = true;
doc_tmp.OptionDefaultStreamEncoding = Encoding.UTF8;

doc_tmp.LoadHtml(tmp.InnerHtml);
doc_tmp.Save(Console.Out);
于 2017-04-20T15:09:32.160 回答
0

另一种方式:

 var url = "https://www.elmundo.es/espana/2019/09/19/5d835eedfdddff788e8b45bd.html";
 var web = new HtmlWeb();
 web.OverrideEncoding = Encoding.GetEncoding("iso-8859-1");

 var doc = web.Load(url); //.OptionDefaultStreamEncoding = Encoding.UTF8; 

 HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//p");


 foreach (var node in nodes)
 {

   txt_contenido.AppendText(node.InnerText + "\n" );

 }

再见

于 2019-09-21T09:54:23.540 回答