如何使用 HtmlAgilityPack 从脚本接收 JSON 数据

How to use HtmlAgilityPack to receive JSON data from script

我的问题是关于以下 html:https://pastebin.com/qT97gBh5

我使用

下载 HTML 站点
            var url = "https://www.twitch.tv/monstercat";
            var web = new HtmlWeb();
            var doc = web.Load(url);

现在唯一让我感兴趣的是 JSON 以下部分的数据。

<script type="application/ld+json">[{"@context":"http://schema.org","@type":"VideoObject","thumbnailUrl":["https://static-cdn.jtvnw.net/previews-ttv/live_user_monstercat-{width}x{height}.jpg"],"embedUrl":"https://player.twitch.tv/?channel=monstercat&player=facebook&autoplay=true","name":"Monstercat - Twitch","description":"Non Stop Music - Monstercat Radio ","videoQuality":"1080p","publication":{"@type":"BroadcastEvent","isLiveBroadcast":true,"startDate":"03/29/2020 19:04:06"},"author":{"@type":"Person","name":"Monstercat","url":"https://www.twitch.tv/monstercat"},"uploadDate":"03/29/2020 19:04:06"}]</script>

我将如何使用 HtmlAgilityPack 来使用 xpath /html/head/script[2] 接收 JSON 数据?

您可以在 c# 中搜索 agility pack,然后使用 agility 获取此 X 路径

/html/head/script[2]

现在你有一个 json 字符串。使用 newtonsoft 将 json 转换为 属性(使用 Nuget 添加此包)。恭喜,您可以阅读 class.

中的描述