Один из вариантов, как с помощью php получить список видео с ссылками с любого ютуб канала.
Логика следующая.
Есть адрес ютуб канала, например https://www.youtube.com/user/radiovesnafm/videos . С помощью php загружаем страницу. Ютуб все основные параметры держит в скрипте, его надо будет вытянуть из страницы, для этого используем регулярные выражения. Далее массив разберем, и получим два необходимых параметра – Название ролика и url этого ролика
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php $url='https://www.youtube.com/user/radiovesnafm/videos'; $opts=array('http'=>array('header' => "User-Agent:MyAgent/1.0\r\n")); $context=stream_context_create($opts); $get_body=@file_get_contents($url,false,$context); preg_match('/(window\[\"ytInitialData\"\]\s?\=\s?)(.+)\;/ium',$get_body,$mas); $m=json_decode($mas[2]); $m=$m->contents->twoColumnBrowseResultsRenderer->tabs[1]->tabRenderer->content->sectionListRenderer->contents[0]->itemSectionRenderer->contents[0]->gridRenderer->items; $count=count($m); for($i=0;$i<$count;$i++){ $mq=$m[$i]->gridVideoRenderer; $title=$mq->title->runs[0]->text; $url=$mq->navigationEndpoint->commandMetadata->webCommandMetadata->url; $url="https://www.youtube.com".$url; echo $title." - ".$url."<br>"; } |