我在不同频道获取直播数据(实时聊天消息)时遇到问题。我发现了一些类似的问题,几年前就被问过,但尚未找到解决方案。
是否有一种“官方”方法可以通过 Youtube API 获取公共实时聊天消息,而无需使用“借助 Selenium 加载页面并将数据加载到 DOM”之类的肮脏方法?在浏览器中我们可以看到它们,而无需以频道所有者身份登录,我认为应该有办法
如果您想实时重播 YouTube 直播聊天,可以使用 python 中的 pytchat 库。
否则,要获取聊天并将其保存到文件中,我使用此 API。
以下是您可以获得的答案示例:
[
{
"amountString": "",
"amountValue": 0,
"author": {
"badgeUrl": "",
"channelId": "UCZbCN47DN3WZvtiTBkKU_Yg",
"channelUrl": "http://www.youtube.com/channel/UCZbCN47DN3WZvtiTBkKU_Yg",
"imageUrl": "https://yt4.ggpht.com/FSrvaaPUPt3ix-klpMatP7Jgrh-DXMVAyxVwM8Fmf8pYj8XHPbC44azzVnaOmY6hWVa6OT4vFiI=s64-c-k-c0x00ffffff-no-rj",
"isChatModerator": false,
"isChatOwner": false,
"isChatSponsor": false,
"isVerified": false,
"name": "Uras Kıratlı",
"type": ""
},
"bgColor": 0,
"currency": "",
"datetime": "2023-06-21 13:06:19",
"elapsedTime": "0:29",
"id": "ChwKGkNMdnN0dmkyMVA4Q0ZSMEkxZ0FkbGRVREpn",
"message": "first",
"messageEx": [
"first"
],
"timestamp": 1687352779877,
"type": "textMessage"
},
{
"amountString": "",
"amountValue": 0,
"author": {
"badgeUrl": "",
"channelId": "UCslvE6Fs_qD-C-hjd-WYOig",
"channelUrl": "http://www.youtube.com/channel/UCslvE6Fs_qD-C-hjd-WYOig",
"imageUrl": "https://yt4.ggpht.com/nSDBeGgnF9zwOuTqq4MrM7fpbf75VN8tVTqoTju2Ctz9Zha_AsPeCmMFjWi49iDgoKxcpY7i=s64-c-k-c0x00ffffff-no-rj",
"isChatModerator": false,
"isChatOwner": false,
"isChatSponsor": false,
"isVerified": false,
"name": "LMG543",
"type": ""
},
"bgColor": 0,
"currency": "",
"datetime": "2023-06-21 13:06:27",
"elapsedTime": "0:36",
"id": "ChwKGkNQR1dpX3kyMVA4Q0ZVX293UW9kZi1ZSGl3",
"message": "Yggghh",
"messageEx": [
"Yggghh"
],
"timestamp": 1687352787548,
"type": "textMessage"
}
// And then more messages like this
]