Писалось когда то для проекта но непонадобилось. Класс для выковыривания всех видео определённого youtube пользователя
Кому надо пользуйтесь кто сможет улучшить свистните
Core::Get заменить на get_file_contents();
Возвращает нумерованный массив формата
[link] => www.youtube.com/watch?v=yTThPJ9R9Qw
[title] => video 2011 12 16 20 39 08
[video_id] => yTThPJ9R9Qw
[time] => 1323979200
Кому надо пользуйтесь кто сможет улучшить свистните
<?php class Youtube { function LoadPages($username) { $html = Core::Get("http://www.youtube.com/user/".$username."/videos"); preg_match_all('#<a href="/user/'.$username.'/videos\?sort=dd(.*)"class="yt-uix-button#Uis', $html, $html2); $pages++; for($i=1;$i<$pages;$i++) { $videos = array_merge($videos, Youtube::Parce($username, 'http://www.youtube.com/user/'.$username.'/videos?sort=dd&view=0&page='.$i)); } return $videos; } function Parce($username,$url) { echo 'CHECK USERNAME '.$username."\n"; $dom = new DOMDocument; $html = Core::Get($url); @$dom->loadHTML($html); $href = $dom->getElementsByTagName('a'); foreach ($href as $link) { $src = $link->getAttribute('href'); { } } //Следующая » foreach ($output as $video) { //$video_ = mb_substr($video,0,20); $page = Core::Get("http://www.youtube.com".$video); @$dom->loadHTML($page); @$user= $dom->getElementById("watch-uploader-info")->getElementsByTagName('a')->item(0)->nodeValue; $date = $dom->getElementById("eow-date")->nodeValue; // echo $date; $title = $title_raw[1][0]; echo 'CHECK LINK http://www.youtube.com'.$video."\n"; if($username == $user) { "link"=>"http://www.youtube.com".$video, "title"=> $title, ); } } return $videos; } } ?>
Возвращает нумерованный массив формата
[link] => www.youtube.com/watch?v=yTThPJ9R9Qw
[title] => video 2011 12 16 20 39 08
[video_id] => yTThPJ9R9Qw
[time] => 1323979200
Реклама #
Fuze 12 лет назад #
2. Как это относится к InstantCMS?
Ну и по теме:
Получать данные лучше всего при помощи CURL.
У youtube есть прекрасный api, прочитав который можно не извращаться с парсением html, а получать нужные данные в удобном формате (json или xml) сразу.
Например так (на примере моего компонента):
Возникнет желание задать вопрос, велкам с конкретикой в ЛС.