javascript - 将 YouTube 直播评论提取到 React 应用程序中
问题描述
我正在尝试构建一个 React Webapp 来在直播运行时对超级聊天进行分组和显示。
到目前为止,我尝试过(不成功)是使用 YouTube LiveChat API,但这需要直播所有者的身份验证(我没有)
我尝试的第二件事是使用youtube-chat,但这不起作用。(我遇到了 CORS 问题:Access to XMLHttpRequest at 'https://consent.youtube.com/m?continue=https%3A%2F%2Fwww.youtube.com%2Fchannel%2FUCdQPeeJ0qGK6wWBiEJWcdsQ%2Flive&gl=NO&m=0&pc=yt&uxe=23983171&hl=en&src=1' (redirected from 'http://localhost:3000/channel/UCdQPeeJ0qGK6wWBiEJWcdsQ/live') from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
。我已将所有请求代理到https://www.youtube.com。即使没有 CORS 问题,该库似乎也无法正常工作,所以我可能正在寻找另一个选项。
该库的目的似乎是抓取 YouTube 原生 HTML 元素并从中读取聊天消息,但该库似乎已被弃用,并且未考虑 YouTube cookie 同意屏幕。
我正在考虑使用 Selenium 并以这种方式刮取数据,但我不确定这是否可行。对此问题的任何帮助将不胜感激。
解决方案
CORS 将阻止从您的网站到另一个未授权的网站的任何请求。为了解决这个问题,编写一个小型后端服务器,用于youtube-chat
获取您的评论并将其中继到您的前端。这样,您就绕过了 CORS。
推荐阅读
- palantir-foundry - 如何在不影响语义版本的情况下强制增量 Foundry Transforms 作业以非增量方式构建?
- android - YubiKey NFC 作为使用 Android 的 FIDO 中的身份验证方法?
- javascript - 用字符串中的新字符替换多个单个字符的所有实例
- palantir-foundry - 如果 Foundry 数据连接运行时间过长,我可以停止它吗?
- arrays - 在 Rails 中,如何按数组字段中的元素计数进行分组?
- apache-kafka - 在 Flink 中实时更新序列化模式
- c - C中char数组的最后一个字符
- curl - 为什么 38189 应要求
- c# - 当我尝试在 C# WinForms 中打开第二个表单时,声音播放器中出现白噪声
- java - 使用 CUDA 运行 Dl4j 的问题