首页 > 解决方案 > 如何使用 HtmlAgilityPack 从脚本接收 JSON 数据

问题描述

我的问题是关于以下 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#web-scrapinghtml-agility-pack

解决方案


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

/html/head/script[2]

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


推荐阅读