0

我正在使用 CSQuery 来解析阿拉伯语网站。当我使用 text() 函数时,它按原样返回文本,但是当我使用 html() 函数时,它使用 html 编码。例如这是我的 html 标签:

<div>تعلن عن إرسالها مركبة فضائية للمريخ قريباً جداً</div>

当我使用:

dom["div"].Text();

它返回:“تعلن عن إرسالها مركبة فضائية لمريخ قريباً جداً”。但是,当我使用:

dom["div"].Html();

它返回:

&amp;#1578;&amp;#1593;&amp;#1604;&amp;#1606; &amp;#1593;&amp;#1606; &amp;#1573;&amp;#1585;&amp;#1587;&amp;#1575;&amp;#1604;&amp;#1607;&amp;#1575; &amp;#1605;&amp;#1585;&amp;#1603;&amp;#1576;&amp;#1577; &amp;#1601;&amp;#1590;&amp;#1575;&amp;#1574;&amp;#1610;&amp;#1577; &amp;#1604;&amp;#1604;&amp;#1605;&amp;#1585;&amp;#1610;&amp;#1582; &amp;#1602;&amp;#1585;&amp;#1610;&amp;#1576;&amp;#1575;&amp;#1611; &amp;#1580;&amp;#1583;&amp;#1575;&amp;#1611;

问题是如何在不编码的情况下保留实际文本的同时使用 Html?我需要 Html() 函数来检索选择器标记内的任何现有标记。

编辑:这是原始 html 页面的内容类型:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4

2 回答 2

0

我最终使用 System.Net.WebUtility.HtmlDecode() 来解码 Html() 函数的输出。

于 2016-05-28T09:14:57.503 回答
0

如果您使用 WebClient 抓取 HTML 页面(这是我的情况),这应该可以帮助您

var client = new WebClient();
client.Encoding = System.Text.Encoding.UTF8;
于 2019-05-09T12:43:49.460 回答