Сделал скрипт-молодец.Просто в следующий раз при разработке модуля или скрипта человек будет глядеть глубже.
В следующий раз - шел бы ты подальше со своими замечаниями
Посмотрите видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Сделал скрипт-молодец.Просто в следующий раз при разработке модуля или скрипта человек будет глядеть глубже.
Какой у вас долгий чаек, поделитесьУ меня перерыв на паре, сейчас попью чаю и скину, он уже готов.
@Sistemos, проверил на dle 11, всегда находит один и тот же ролик.АП темы, вдруг кто-то не видел. Скрипт рабочий.
<?php
if ( isset($_POST['fname']) and $_POST['fname'] != '' and !substr_count($_POST['fname'], 'http') ) {
$youtube_query = trim( strip_tags ($_POST['fname']) );
$youtube_query = preg_replace('/\s/', '+', $youtube_query);
$doptext = iconv("cp1251", "utf8", '+трейлер');
$pars_url = 'http://www.youtube.com/results?search_query='.$youtube_query.$doptext;
$ch = curl_init();
$proxy = '213.85.92.10:80';
//$proxyauth = 'user:password';
curl_setopt($ch, CURLOPT_URL,$pars_url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth);
$uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу
curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам
curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки
curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent
$content = curl_exec( $ch );
curl_close($ch);
preg_match_all ('/<a\shref="\/watch\?v=(.+?)"\sclass/', $content, $link_treiler_mass);
foreach($link_treiler_mass[1] as $k=>$z){
$dop_treiler_mass[] = 'https://www.youtube.com/embed/'.$z;
$iframe_treiler_mass[] = '<iframe width="640" height="360" src="https://www.youtube.com/embed/'.$z.'?feature=player_embedded" frameborder="0" allowfullscreen></iframe>';
}
echo $dop_treiler_mass[0];
}
?>
не в курсе, обычно не юзаю, я зашел на первый попавшийся сайт spys.ru/proxys/RU/ и взял оттудаспасибо, можешь подскажешь где нормальные найти?
Тупанул )) пасиб@Beats,
Код:<iframe width="100%" height="480" src="[xfvalue_НАЗВАНИЕДОППОЛЯ]" frameborder="0" allowfullscreen></iframe>
Сам разобрался просто в файле treiler_pars.php прописал error_reporting (0);Почему то при нажатии на получить трейлер пишет
Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /var/www/****/data/www/****/treiler_pars.php on line 18https://www.youtube.com/embed/k28xJyEbWS8
Но трейлер вроде как находит,как убрать текс ошибки с поля?
Это:
Заменить на:Код:$content = file_get_contents($pars_url);
Если прокси с авторизацией, раскомментируем две строчки:Код:$ch = curl_init(); $proxy = '198.169.246.30:80'; //$proxyauth = 'user:password'; curl_setopt($ch, CURLOPT_URL,$pars_url); curl_setopt($ch, CURLOPT_PROXY, $proxy); //curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth); $uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"; curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent $content = curl_exec( $ch ); curl_close($ch);
Код:$proxyauth = 'user:password'; curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth);
<?php
if ( isset($_POST['fname']) and $_POST['fname'] != '' and !substr_count($_POST['fname'], 'http') ) {
$youtube_query = trim( strip_tags ($_POST['fname']) );
$youtube_query = preg_replace('/\s/', '+', $youtube_query);
$doptext = '+трейлер';
//$doptext = iconv("cp1251", "utf8", $doptext);
$pars_url = 'https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=1&q='.$youtube_query.$doptext.'&max-results=1&orderby=relevance&format=5&alt=json&key=AIzaSyDyCiiBDnq1JHZZDURvs9CtHQ2kTTP_fxs';
$content_mass = json_decode(file_get_contents($pars_url));
$z = $content_mass->{'items'}['0']->{'id'}->{'videoId'};
$url_treiler = 'https://www.youtube.com/embed/'.$z;
echo $url_treiler;
}
?>
Не так - не прочитана инструкция и топик.у всех фильмов вместо трейлера показывает вот это реклама
подскажите что может быть не так ?
сделал@aeneas, зависит только блокирует ли Ютуб IP-адрес.
Можешь еще попробовать содержимое treiler_pars.php заменить на этот код:
Код:<?php if ( isset($_POST['fname']) and $_POST['fname'] != '' and !substr_count($_POST['fname'], 'http') ) { $youtube_query = trim( strip_tags ($_POST['fname']) ); $youtube_query = preg_replace('/\s/', '+', $youtube_query); $doptext = '+трейлер'; //$doptext = iconv("cp1251", "utf8", $doptext); $pars_url = 'https://www.googleapis.com/youtube/v3/search?part=snippet&maxResults=1&q='.$youtube_query.$doptext.'&max-results=1&orderby=relevance&format=5&alt=json&key=AIzaSyDyCiiBDnq1JHZZDURvs9CtHQ2kTTP_fxs'; $content_mass = json_decode(file_get_contents($pars_url)); $z = $content_mass->{'items'}['0']->{'id'}->{'videoId'}; $url_treiler = 'https://www.youtube.com/embed/'.$z; echo $url_treiler; } ?>



