如何使用 PHP 检查 YouTube 上是否存在视频?

2022-08-30 15:49:33

如何使用 PHP 检查 YouTube 上是否存在视频?


答案 1

Youtube支持oEmbed格式。
与Pascal MARTIN提供的xml响应相比,我的只需要下载600字节而不是3800字节,这使得它更快,带宽吸收更少(只有大小的1/6)。

function yt_exists($videoID) {
    $theURL = "http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v=$videoID&format=json";
    $headers = get_headers($theURL);

    return (substr($headers[0], 9, 3) !== "404");
}

$id = 'yyDUC1LUXSU'; //Video id goes here

if (yt_exists($id)) {
    //  Yep, video is still up and running :)
} else {
    //  These aren't the droids you're looking for :(
}

答案 2

使用Youtube的API怎么样?
毕竟,这意味着使用一些官方,这比解析一些HTML页面更不可能改变。

有关更多信息,请参阅:YouTube API 和工具 - 开发者指南:PHP

检索特定视频条目似乎非常有趣:如果您向如下所示的URL发送请求:

http://gdata.youtube.com/feeds/api/videos/videoID

(当然,将“videoID”替换为视频的ID - 示例中的“GeppLPQtihA”),如果视频有效,您将获得一些ATOM提要;和“无效 ID”(如果不是)


而且,我坚持认为:通过这种方式,你依赖于一个有文档记录的API,而不是今天存在的某种行为,但不能保证。


推荐