You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP仪表盘中获取YouTube“稍后观看”列表的条目数量?

可行的YouTube“稍后观看”条目数获取方案(PHP仪表盘适用)

嘿,我完全理解你想在自己搭建的PHP仪表盘里展示YouTube“稍后观看”列表条目数的需求,而且没法用官方API确实有点棘手——我之前帮朋友做类似功能时也踩过坑,给你几个实际可行的替代思路:

1. 无头浏览器模拟登录抓取(适合需要实时数据的场景)

这个方法是最直接的,通过模拟人类浏览行为来获取页面数据:

  • 核心思路:用PHP封装的无头浏览器工具(比如spatie/browsershot)启动无头Chrome/Chromium,模拟登录YouTube后访问“稍后观看”页面,解析页面DOM提取条目数量。
  • 具体步骤:
    • 先在服务器上安装Chrome或Chromium,然后通过Composer安装spatie/browsershot。
    • 首次运行时,手动完成YouTube登录(可以让工具弹出可视化窗口完成登录,之后保存Cookie文件复用),避免硬编码账号密码。
    • 调用工具访问https://www.youtube.com/playlist?list=WL,等待页面完全加载(包括动态渲染的内容)。
    • 用PHP的DOMDocument或者symfony/dom-crawler解析返回的HTML,定位页面上显示条目数的元素(比如页面顶部类似“X 个视频”的文本节点)。
  • 优缺点:能拿到实时准确的数据,但需要维护登录Cookie(过期后要重新登录),服务器资源占用略高,且要注意控制请求频率避免被YouTube封禁IP。

2. 第三方自动化工具中转(适合稳定性优先的场景)

如果不想折腾页面抓取,可以借助自动化工具把数据同步到你能轻松访问的数据源:

  • 核心思路:用IFTTT、Zapier这类工具,把“稍后观看”的新增/移除操作同步到Google Sheets、Airtable这类在线表格,然后PHP直接读取表格的行数来获取条目数。
  • 具体步骤:
    • 在IFTTT创建两个Applet:一个触发条件为「YouTube添加视频到“稍后观看”列表」,动作为「向Google Sheets添加一行」;另一个触发条件为「YouTube从“稍后观看”移除视频」,动作为「删除Google Sheets对应行」。
    • 用PHP通过Google Sheets API读取表格数据(或者把表格设置为公开可导出CSV,直接用file_get_contents读取并统计行数)。
  • 优缺点:不需要处理YouTube的登录和页面解析,稳定性高;但数据会有一定延迟(不是实时更新),且依赖第三方工具的可用性。

3. 复用个人浏览器Cookie(仅限个人自用仪表盘)

如果这个仪表盘只是你自己使用,完全可以简化操作:

  • 核心思路:从你日常登录YouTube的浏览器里导出身份验证Cookie,在PHP请求中带上这些Cookie直接访问“稍后观看”页面,解析内容。
  • 具体步骤:
    • 在Chrome开发者工具的「Application」标签里找到YouTube的Cookie(重点保留SID、HSID、SSID这类核心身份Cookie)。
    • 用PHP的cURL或Guzzle发送请求到“稍后观看”页面,请求头里添加Cookie字段,填入导出的Cookie内容。
    • 解析返回的HTML提取条目数即可。
  • 优缺点:实现成本极低,适合个人使用;但Cookie会定期过期需要手动更新,且绝对不能用于多用户场景(Cookie泄露会导致账号被盗)。

重要注意事项

  • 无论用哪种方法,都要遵守YouTube的服务条款,不要高频次请求,避免触发反爬机制导致IP被封禁。
  • YouTube的页面结构可能会随时调整,所以解析DOM的代码需要定期检查维护,比如如果条目数的CSS选择器变了,你的代码就会失效。

内容的提问来源于stack exchange,提问作者TaskPlays

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:34:20