首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP提取youtube实时聊天

PHP提取youtube实时聊天
EN

Stack Overflow用户
提问于 2015-10-21 04:38:21
回答 1查看 1.5K关注 0票数 1

当youtube上有现场直播时,总是在视频播放器的右边聊天。我正在尝试从聊天下载消息到我的PHP页面,以便过滤掉它们,因为它们滚动得非常快,我无法赶上它们。

我注意到当你用实时聊天打开youtube页面时,它每10秒运行一次这个URL

代码语言:javascript
复制
https://www.youtube.com/live_comments?action_get_comments=1&video_id=<video_id>&lt=<timestamp of last recorded message>&format=proto&pd=10000&rc=26&scr=true&comment_version=1

如果我做了

代码语言:javascript
复制
$xml= file_get_contents('https://www.youtube.com/live_comments?action_get_comments=1&video_id=<video_id>&lt=<timestamp of last recorded message>&format=proto&pd=10000&rc=26&scr=true&comment_version=1');
echo "<textarea>{$xml}</textarea>";

我被跟踪了

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<root>
    <latest_time>
        <![CDATA[1445398692]]>
    </latest_time>
    <return_code>
        <![CDATA[0]]>
    </return_code>
    <likes_data>
        <![CDATA[{"percent_dislikes":7,"num_likes":"1,383","num_dislikes":"91","percent_likes":93}]]>
    </likes_data>
    <comments>
        <![CDATA[EOcKGFsgkE4=]]>
    </comments>
</root>

我想这会给我带来新的消息出现,但我目前正在测试的聊天,没有人在其中,我无法证实。

也有每10秒发布请求,但我不是试图张贴,只是下载。

我的问题是,当您最初打开页面时,如何下载显示在聊天中的PHP现有消息?

EN

回答 1

Stack Overflow用户

发布于 2019-05-04 02:32:25

这不是一个足够的答案(没有PHP,没有代码.),但是如果您对一个肮脏而简单的解决方案感兴趣(将Youtube Live视频聊天抓取为JSON),您可以使用浏览器这样做。在Firefox中:

  1. 在Firefox浏览器中加载视频url,在视频聊天窗口的顶部。
  2. 选择“实时聊天回放”以获取聊天的所有信息。
  3. 暂停视频。
  4. 在FF菜单上转到“”,然后转到"Network“。
  5. “持久性寄存器”标记复选框(可选)
  6. 只选择"XHR“,并通过"live_chat_replay”过滤结果。
  7. 播放视频让它划..。
  8. 最后,再次暂停视频,并在“网络”控制台的右上角找到并在"HAR“选择器上安装clik。
  9. 选择“将全部保存为HAR”
  10. 选择文件目标并保存。
  11. 在文本/代码编辑器中打开"HAR“文件(它是JSONS的JSON )
  12. 使用您最喜欢的语言解析它。
  13. 干杯!
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33251041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档