当你在YouTube上进行直播时,总是在视频播放器的右边聊天。我正在尝试将聊天中的消息下载到我的PHP页面,以便过滤掉它们,因为它们滚动得非常快,我无法赶上它们。
我注意到当您使用实时聊天打开YouTube页面时,它每10秒运行一次GET到此网址
https://www.youtube.com/live_comments?action_get_comments=1&video_id=<video_id><=<timestamp of last recorded message>&format=proto&pd=10000&rc=26&scr=true&comment_version=1
如果我这样做
$xml= file_get_contents('https://www.youtube.com/live_comments?action_get_comments=1&video_id=<video_id><=<timestamp of last recorded message>&format=proto&pd=10000&rc=26&scr=true&comment_version=1');
echo "<textarea>{$xml}</textarea>";
我得到了以下
<?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秒的POST请求,但我不想发布只是下载。
我的问题是,如何在最初打开页面时使用聊天时显示的PHP现有消息进行下载?
答案 0 :(得分:0)
这不是一个足够的答案(没有PHP,没有代码...),但是如果您对一个肮脏而简单的解决方案(将YouTube实时视频聊天功能转换为JSON)感兴趣,则可以使用浏览器来实现。 在Firefox中: