Zend Framework - Поиск текста на сайте - PullRequest
1 голос
/ 16 ноября 2011

Я: новичок в Zend Framework

Цель: поиск количества просмотров определенных видео на YouTube

Для простоты, я должен взять API YouTube для видео, найти на странице слово "viewcount" и взять данные оттуда. Пример: "http://gdata.youtube.com/feeds/api/videos/ZDG90nkL79c"

Мой вопрос: как я могу сделать это в Zend Framework? Я уже сделал что-то подобное в PHP с fopen и preg_match. Я пытался найти решение в Интернете, но не нашел хороших примеров. То, что я думаю, я должен использовать, это Zend_HTTP_Client, но я не могу понять это.

Я был бы очень признателен, если бы кто-нибудь дал мне несколько строк кода о том, как открыть страницу и найти слово.

Спасибо!

1 Ответ

0 голосов
/ 20 ноября 2011

Использование Zend_Gdata_Youtube:

$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();

Возможно, этот способ проще, но я не уверен, что еще вы хотите, чтобы он делал.

Использование Zend_Http_Client и DomDocument

$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-файле есть ошибки или отсутствуют ожидаемые узлы.

...