javascript - 如何修复返回编码的 Youtube API 结果标题

标签 javascript node.js youtube-data-api

我正在使用 youtube-search 1.1.4查找视频。问题是我得到的结果标题是用 &' 编码的,而不仅仅是 &' 等等。

我从下面的示例代码中得到的一个结果示例(同样,有意在字符之间添加了空格): title: "Post Malone - "Wow."(官方音乐视频)"

尝试通过 decodeURI 、decodeURIComponent 或 unescape 解决此问题,但没有帮助。 使用直接调用 youtube api并得到相同的结果。 我错过了什么?

var youtubeSearch = require("youtube-search")

var opts = {
  maxResults  : 15,
  key         : 'MY_API_KEY',
  part        : 'snippet',
  type        : 'video',
};

youtubeSearch('post malone', opts, function(err, results) {
  if(err) return console.log(err);

  console.dir(results);
});

最佳答案

您可以使用 DOM 解析器

var parser = new DOMParser;

let finalResult = parser.parseFromString(results, "text/html")
console.log(finalResult.body.innerHtml); // will turn & to &

关于javascript - 如何修复返回编码的 Youtube API 结果标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55385560/

相关文章:

javascript - 如何使用 Greasemonkey 按 ID 号突出显示?

node.js - "Empty reply from server"尝试在运行 docker-toolbox 的 Windows 上使用 docker-compose 在 docker 容器内运行 webpack-dev-server

python - 无法提供图表作为 youtube 搜索 API 的参数

javascript - 如何从 json 渲染对象

javascript - 使用左、右、下、上、主页和结束虚拟按钮的 HTML Texeare 插入符号控件

javascript - 使用扩展运算符调用函数

android - YouTube 数据 API v3 - 参数 "publishedAfter"无效

json - 哪个 url 用于从 api 3.0 上的用户获取 youtube 上传视频的 json 数据

javascript - 在 Javascript 上使用 For 循环和数组在输入姓名时显示电话号码

node.js - 如何解决这个答案[AsyncFunction : response]?