如何使用php从youtube中提取视频描述


how to extract the description of a video from youtube using php

如何使用php从youtube中提取视频描述?

如果可能的话,使用换行符的格式。

想要提取纯文本,它将用php保存到txt中。

感谢

您可以使用YouTube数据API。

使用此URL获取特定视频id 的json数组

http://gdata.youtube.com/feeds/api/videos/KQdDiW_C2E4?v=2&alt=json在脚本中&callback=youtubeFeed回调

KQdDiW_C2E4是视频idv=2告诉服务器使用API的v2alt=json-in-script告诉API返回一个json数组

如果json_decode返回的数组,您将在中找到描述array->entry->media$group->media$description

我在网上找到的这个问题的答案都对我没有帮助。我就是这么做的:

$json = json_decode( file_get_contents('https://www.googleapis.com/youtube/v3/videos?id=YOUR_VIDEO_ID&key=YOUR_GOOGLE_API_KEY&part=snippet,contentDetails,statistics,status'), TRUE );
$description = nl2br( $json['items'][0]['snippet']['description'] );

您可以从这里获得Google API密钥(只需遵循步骤1和2,因为您只需要API密钥)。

nl2br函数用于将换行转换为换行符。

希望这能为其他人节省一些时间。

您可以使用php的file_get_contents()函数请求youtube视频的html文档,然后搜索包含描述的<div>并以这种方式提取它。

我刚刚看了一个youtube视频页面,它看起来像是<p id="eow-description">标签中的描述,尽管显然不能保证保持这种状态。

编辑:我没有意识到Youtube提供了API。显然,使用他们的API并询问您想要的信息比尝试解析他们的html页面更干净。感谢Sander指出这一点。

我使用以下类访问YouTube。

http://www.phpclasses.org/package/6336-PHP-Retrieve-information-about-videos-in-YouTube.html

它如何工作的快速示例;

<?
$obj = new youtube;
$obj->url = "http://www.youtube.com/watch?v=8B7s01DpBTg";
$obj->player("480","385");
print $info["description"];
?>