如何使用 PHP 检查 YouTube 上是否存在视频?
如何使用 PHP 检查 YouTube 上是否存在视频?
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 :(
}
使用Youtube的API怎么样?
毕竟,这意味着使用一些官方,这比解析一些HTML页面更不可能改变。
有关更多信息,请参阅:YouTube API 和工具 - 开发者指南:PHP
检索特定视频条目似乎非常有趣:如果您向如下所示的URL发送请求:
http://gdata.youtube.com/feeds/api/videos/videoID
(当然,将“videoID”替换为视频的ID - 示例中的“GeppLPQtihA”),如果视频有效,您将获得一些ATOM提要;和“无效 ID”(如果不是)
而且,我坚持认为:通过这种方式,你依赖于一个有文档记录的API,而不是今天存在的某种行为,但不能保证。