如何将网页 unicode 转换为 ascii



我正在尝试将网页从我不理解的格式转换为ascii,以便我可以查找某些数据。 我使用带有网页网址的 webclient 检索数据,然后使用编码将数据从我认为是 unicode 转换为 ascii,但格式根本没有改变。 下面是我的代码:

WebClient web = new WebClient();
string page = "https://www.myurl.com/";
Stream data = web.OpenRead(page);
StreamReader reader1 = new StreamReader(data);
string input = reader1.ReadToEnd();
Encoding unicode = Encoding.Unicode;
Encoding ascii = Encoding.ASCII;
string webpage = ascii.GetString(
  Encoding.Convert(unicode, ascii, unicode.GetBytes(input))
);

以下是网页数据的外观,与输入数据相同,这表明我的转换不起作用。

     "sprited":true,"spriteCssClass":"sx_a11c08","spriteMapCssClass":"sp_SN-oNOqlzVS"},"505789":{"sprited":true,"spriteCssClass":"sx_5219b1","spriteMapCssClass":"sp_SN-oNOqlzVS"},"505782":{"sprited":true,"spriteCssClass":"sx_c0671f","spriteMapCssClass":"sp_SN-oNOqlzVS"},"505794":{"sprited":true,"spriteCssClass":"sx_8cf344","spriteMapCssClass":"sp_SN-oNOqlzVS"},"495429": 

有谁知道这是什么样的数据以及如何将其转换为我可以理解的数据? 当我在浏览器上显示网页的页面源代码时,这些奇怪的数据都没有显示出来。 换句话说,我从Web客户端获得的数据看起来根本不像浏览器上的页面源代码。

这是下面的完整网页数据吗?它的两端看起来不完整。对我来说,它看起来像JSON数据。可以使用 JavaScriptSerializer 类将其转换为 C# 对象。

JavaScriptSerializer json_serializer = new JavaScriptSerializer();
Test resultingData = (Test)json_serializer.DeserializeObject(your_data);
<</div> div class="one_answers">

如果你想从请求中读取JSON,请像这里一样做,

var json = web.DownloadString(page);

然后你需要将字符串反序列化为一个对象,如果你知道响应中模型的类型,你可以这样做,让它ResponseType

using Newtonsoft.Json;
...
var result = JsonConvert.DeserializeObject<ResponseType>(json);

有一个名为Facebook的NuGet包,你可以将其导入到你的项目中。这将为您提供一些可能与类型匹配的模型。


如果您不知道响应的类型,可以执行以下操作,

using Newtonsoft.Json.Linq;
...
var jObject = JObject.Parse(json);

然后,可以使用 LINQ 查询对象。

相关内容

  • 没有找到相关文章

最新更新