Youtube api 解析Youtube类频道https://youtube.com/c/xyz

Youtube api 解析Youtube类频道https://youtube.com/c/xyz,youtube-api,Youtube Api,当您有yourtube.com/channel/xyz或youtube.com/user/xyz这样的url时,请求youtube频道或用户信息相当容易,因为您可以从url中删除用户名/频道ID。但是,我在将url与任何类型的资源相关联时遇到问题 它似乎不是用户,也不是频道?好的。事实证明,这是一个可以从YouTube手动请求的文件。它与用户名或channelID没有连接 目前也无法使用API从自定义url获取信息,因此您需要请求url并在元标记中查找实际的channelID。这里有一个方法可以

当您有yourtube.com/channel/xyz或youtube.com/user/xyz这样的url时,请求youtube频道或用户信息相当容易,因为您可以从url中删除用户名/频道ID。但是,我在将url与任何类型的资源相关联时遇到问题

它似乎不是用户,也不是频道?

好的。事实证明,这是一个可以从YouTube手动请求的文件。它与用户名或channelID没有连接


目前也无法使用API从自定义url获取信息,因此您需要请求url并在元标记中查找实际的channelID。这里有一个方法可以做到这一点。希望能有所帮助。

在HTML中有一种称为。这是您放在另一个页面的副本页面上的元素,该元素指向该内容的规范副本或“主”副本

如果您查看“canonical”的源代码并搜索,您将找到指向主频道页面的元素

<link rel="canonical" href="https://www.youtube.com/channel/UCMi7-BZZX9x8CAhE-5juNyw">

Youtube已经更改了HTML代码并删除了链接rel=“canonical”,所以Jacob Tomlinson的解决方案不再有效

现在,您需要从源代码中的任何其他位置获取ChannelID,例如:

<meta itemprop="channelId" content="UCMi7-BZZX9x8CAhE-5juNyw">

PHP:


preg_match_all(“#还没有看到这种格式。你有工作示例吗?这是一个很好的示例。奇怪。该频道的实际url是你从哪里得到的/c/Rsmuk1?在公司右上角的实际网站上找到的
<meta itemprop="channelId" content="UCMi7-BZZX9x8CAhE-5juNyw">
preg_match_all('#<meta itemprop="channelId" content="([^"]+)"#is', $html, $channel_id);