如何使用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"];
?>