从 URL 获取 YouTube 频道的 Avatar/Thumbnail
Get YouTube Channel's Avatar/Thumbnail from URL
我搜索并尝试了一些方法,例如 DOM 和一些 API 方法。我在 API 上找不到任何与 PHP 相关的明确文档。而且我以前从未使用过DOM,所以我没有经验。
所以基本上,我需要一种方法来获取 YouTube 频道的头像并使用频道 URL 中的 PHP 显示它。
有什么想法吗?
使用 cURL 或替代方法获取用户 YouTube 页面的来源,然后使用此代码获取他们的头像。
echo GetBetween($YouTubePage,'<img class="appbar-nav-avatar" src="','" title="');
function GetBetween($content,$start,$end){
$r = explode($start, $content);
if (isset($r[1])){
$r = explode($end, $r[1]);
return $r[0];
}
return '';
}
您可以使用 file_get_contents 或 cUrl。
你的 url 看起来像 http://gdata.youtube.com/feeds/api/users/PUTCHANNELID?fields=yt:username,media:thumbnail,title&alt=json
如果您更喜欢使用 XML,您可以删除最后一个参数 alt=json
以下是响应示例:
{
version: "1.0",
encoding: "UTF-8",
entry: {
xmlns: "http://www.w3.org/2005/Atom",
xmlns$media: "http://search.yahoo.com/mrss/",
xmlns$yt: "http://gdata.youtube.com/schemas/2007",
title: {
$t: "CSS Masters Israel",
type: "text"
},
media$thumbnail: {
url:"http://yt3.ggpht.com/qC5rLzDDlKA/AAAAAAAAAAI/AAAAAAAAAAA/ijaVa2hQjso/s88-c-k-no/photo.jpg"
},
yt$username: {
$t: "TJv3MtKko-T3gDGn5XFyPA"
}}}
所以你只需要得到media$thumbnail[url]
并在
中使用它
echo '<img src="'.media$thumbnail[url].'"/>
此外,您应该从响应中获取标题并将其用作图片的 alt 和 title 属性。
我搜索并尝试了一些方法,例如 DOM 和一些 API 方法。我在 API 上找不到任何与 PHP 相关的明确文档。而且我以前从未使用过DOM,所以我没有经验。
所以基本上,我需要一种方法来获取 YouTube 频道的头像并使用频道 URL 中的 PHP 显示它。
有什么想法吗?
使用 cURL 或替代方法获取用户 YouTube 页面的来源,然后使用此代码获取他们的头像。
echo GetBetween($YouTubePage,'<img class="appbar-nav-avatar" src="','" title="');
function GetBetween($content,$start,$end){
$r = explode($start, $content);
if (isset($r[1])){
$r = explode($end, $r[1]);
return $r[0];
}
return '';
}
您可以使用 file_get_contents 或 cUrl。
你的 url 看起来像 http://gdata.youtube.com/feeds/api/users/PUTCHANNELID?fields=yt:username,media:thumbnail,title&alt=json
如果您更喜欢使用 XML,您可以删除最后一个参数 alt=json 以下是响应示例:
{
version: "1.0",
encoding: "UTF-8",
entry: {
xmlns: "http://www.w3.org/2005/Atom",
xmlns$media: "http://search.yahoo.com/mrss/",
xmlns$yt: "http://gdata.youtube.com/schemas/2007",
title: {
$t: "CSS Masters Israel",
type: "text"
},
media$thumbnail: {
url:"http://yt3.ggpht.com/qC5rLzDDlKA/AAAAAAAAAAI/AAAAAAAAAAA/ijaVa2hQjso/s88-c-k-no/photo.jpg"
},
yt$username: {
$t: "TJv3MtKko-T3gDGn5XFyPA"
}}}
所以你只需要得到media$thumbnail[url]
并在
echo '<img src="'.media$thumbnail[url].'"/>
此外,您应该从响应中获取标题并将其用作图片的 alt 和 title 属性。