我:Zend Framework新手
目标:搜索特定YouTube视频的观看次数
为了简单起见,我应该只使用youtube api获取视频,然后在页面中搜索“viewcount”一词并从中获取数据。 示例:“http://gdata.youtube.com/feeds/api/videos/ZDG90nkL79c”
我的问题是如何在Zend Framework中执行此操作?我已经使用fopen
和preg_match
在PHP中做过类似的事情。我尝试在线搜索解决方案,但没有找到任何好的例子。我认为我应该使用的是Zend_HTTP_Client
,但我无法弄明白。
如果有人可以给我一些关于如何打开页面并寻找单词的代码,我将非常感激。
谢谢!
答案 0 :(得分:0)
$yt = new Zend_Gdata_Youtube(null, // can pass instance of Zend_Http_Client
'Company-AppName-Version', // name of your app
$clientId, // issued by the YouTube dashboard
$developerKey // issued by the YouTube dashboard
);
$videoEntry = $yt->getVideoEntry('ZDG90nkL79c');
$viewCount = $videoEntry->getVideoViewCount();
这种方式可能更容易,但我不确定你还想要它做什么。
$hc = new Zend_Http_Client(
'http://gdata.youtube.com/feeds/api/videos/ZDG90nkL79c')
$response = $hc->request();
if ($response->getStatus() == 200) {
$domDoc = new DomDocument();
$domDoc->loadXml($response->getBody());
$stats = $domDoc
->getElementsByTagNameNS(
'http://gdata.youtube.com/schemas/2007',
'statistics'
)
->item(0); // Should be just one item in DomNodeList
$viewCount = $stats->attributes->getNamedItem('viewCount')->nodeValue;
}
如果XML中存在错误或预期的节点不存在,则第二个错误将严重失败。