Здравствуйте.
Итак, описываю ситуацию.
Веду группу ВКонтакте, посвященную одному молодому, но стремительно набирающему популярность, музыкальному коллективу. Кроме всяких новостей данный коллектив снимает клип и выкладывает его на свой канал на YouTube, где-то раз в месяц. Мне нужно оперативно получать извещения о таких обновлениях. Есть способ получать уведомления на почту, с помощью самого YouTube, но они приходят очень часто аж через час, а то и больше - это очень долго.
Собственно вопрос: как реализовать получение оповещений о обновлениях на YouTube смской вида: "Тадам, новое видео"?
Есть небольшой, но плюс - коллектив обычно заранее сообщает в какой день выйдет клип -> можно опрашивать Yotube в течении N времени и не гонять скрипт попусту 24/7.
Есть свой маленький сайт на хостинге, нашел скрипт, ему уже два года скоро будет. В данном скрипте отлично работает отправка смс, но проверка на новые видео уже не работает.
Если все получится, то останется запустить скрипт с помощью Cron и пускай себе проверяет раз в N минут. :)
Буду очень благодарен за помощь.
<?php
function send_sms($to, $msg, $login, $password){
$u = 'http://www.websms.ru/http_in5.asp';
$ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'Http_username='.urlencode($login). '&Http_password='.urlencode($password). '&Phone_list='.$to.'&Message='.urlencode($msg));
curl_setopt($ch, CURLOPT_URL, $u);
$u = trim(curl_exec($ch));
curl_close($ch);
preg_match("/message_id\s*=\s*[0-9]+/i", $u, $arr_id );
$id = preg_replace("/message_id\s*=\s*/i", "", @strval($arr_id[0]) );
return $id;
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11');
$url = 'http://www.youtube.com/user/PTXofficial/feed'; //ссылка на канал
$compare = 'Run to You - Pentatonix'; //название текущего видео
$mob = ''; //мобильный в формате 79251234678
$login = ''; //логин на сайте для отправки смс
$pass = '';//пароль на сайте для отправки смс
curl_setopt($ch, CURLOPT_URL, $url);
$page = curl_exec($ch);
$page = iconv('utf-8', 'windows-1251', $page);
if ($page != false){
$page = trim(substr($page, strpos($page, 'yt-uix-sessionlink'), 800));
$page = trim(substr($page, strpos($page, 'ltr')+5, 110));
$page = trim(substr($page, 0, 100));
$page = substr($page, 0, 6);
$compare = substr($compare, 0, 6);
$msg = $page;
if ($page != $compare && !empty($page) && $page != 'xmlns:' && $page != 'TYPE H'){
$compare = iconv('utf-8', 'windows-1251', $compare);
send_sms($mob, $msg, $login, $pass);
echo $msg;
}else{
if (empty($page)) echo '[ ERROR: empty page loaded ]';
}
} else { echo 'Невозможно загрузить страницу'; die; }
curl_close($ch);
?>