Re: moonwalk
Здравстуйте, большое спасибо за скрипт. Не поможете в програмировании еще не силен только учусь как вытащить все сезоны и серии с плеера например http://online.the-cinema.tv/serial/1af6 … e?season=5 а сделать http://online.the-cinema.tv/serial/6d98 … ;episode=1 и так далее пока не переберет все спасибо еще раз
прямые ссылки на все сезоны и все серии будешь долго ждать, перебор в цикле может занять минут 5-10... а если и много серий и того дольше... не самый лучший вариант... это нужно каждый файл с каждую серию нужно запрос делать и каждый запрос ждать достаточно долго...
проще сделать список ссылок на фреймы с сериями и сезонами, а при выборе на конкретной серии - дергать ссылку из конкретного фрейма...
----------
Держи скрипт для получения ссылок на все сезоны и все серии в текущем сезоне:
<?php
// Входные параметры
$url = isset($_REQUEST['url']) ? $_REQUEST['url' ] : "";
$season = isset($_REQUEST['season' ]) ? '?season='.$_REQUEST['season' ] : "";
$episode = isset($_REQUEST['episode' ]) ? '&episode='.$_REQUEST['episode' ] : "";
$origin = 'http://'.explode('/',$url)[2];
$headers = "Accept-Encoding: gzip, deflate\r\n"."Content-Type: application/x-www-form-urlencoded; charset=UTF-8\r\n"."Referer: ".$url."\r\n"."User-Agent: Mozilla/5.0\r\n";
// Загружаем страницу iframe
$page = LoadPage($url.$season.$episode, "GET", $headers);
// Сезоны...
$season_txt = explode('</select>',explode('<select name="season" id="season"',$page)[1])[0];
// Если у нас есть хоть один сезон...
if (strlen($season_txt)>0) {
// Текущий сезон
$season_set = explode('"',explode('<option selected="selected" value="',$season_txt)[1])[0];
// Все сезоны
preg_match_all('/<option(.*?)value=\\"(.*?)\\">(.*?)<\/option>/si', $season_txt, $out); $season_all=$out[2];
// Серии...
$episode_txt = explode('</select>',explode('<select name="episode" id="episode"', $page)[1])[0];
// Текущая серия в текущем сезоне
$episode_set = explode('"',explode('<option selected="selected" value="', $episode_txt)[1])[0];
// Все серии в текущем сезоне
preg_match_all('/<option(.*?)value=\\"(.*?)\\">(.*?)<\/option>/si', $episode_txt, $out); $episode_all=$out[2];
// Всего ссылок (все сезоны и все серии в текущем сезоне)...
echo count($episode_all)+count($season_all)-1;
// Вывод всех серий в текущем сезоне
for ($i=0; $i<count($episode_all); $i++)
echo '<br>'.explode('?season=',$url)[0].'?season='.$season_set.'&episode='.$episode_all[$i].' | '.(($episode_all[$i]==$episode_set)?('<<< '):('')).'Ceзон '.$season_set.' ('.$episode_all[$i].' серия)';
// Вывод всех сезонов, кроме того что уже выбран
for ($i=0; $i<count($season_all); $i++) if ($season_all[$i]!=$season_set)
echo '<br>'.explode('?season=',$url)[0].'?season='.$season_all[$i].' | Ceзон '.$season_all[$i];
}
// Получение страницы с указанными методом и заголовками
function LoadPage($url, $method, $headers, $data='') {
$context = stream_context_create($options);
$page = file_get_contents($url, false, $context);
// Перебираем HTTP заголовки ответа
foreach($http_response_header as $c => $h) { if (stristr($h, 'content-encoding') and stristr($h, 'gzip')) { $page = gzdecode($page); } }
return $page;
}
?>
Пример использования:
http://localhost/moon.php?url=http://online.the-cinema.tv/serial/1af6c3479f8179bff8212af26af8e273/iframe
http://localhost/moon.php?url=http://online.the-cinema.tv/serial/1af6c3479f8179bff8212af26af8e273/iframe?season=2
http://localhost/moon.php?url=http://online.the-cinema.tv/serial/1af6c3479f8179bff8212af26af8e273/iframe?season=1&episode=7