- Регистрация
- 13 Май 2008
- Сообщения
- 2.619
- Реакции
- 1.127
- Автор темы
- Модер.
- #11
Наглядный пример Для просмотра ссылки Войди
Подскажите тогда если регулярка нормально прописана - то куда копать и где искать косяк в парсинге-выводе инфы?
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Там сразу плеер вставлен контактовский, а Вы хотите ссылку получать.
Наглядный пример Для просмотра ссылки Войдиили Зарегистрируйся - в табе скачать - ссылки получает левые, т.к. "vtag":"06dbabab79", не соответствует действительности, при этом значение которое он выдает в ссылках - вообще нет при просмотре кода страницы... Он же должен отдавать ссылки именно для моего IP с которого я открываю эту ссылку, а получается что часть видео загруженного мной на выходе получает ссылки не верные, старые видео загруженные другими - vtag определяет нормально и всё можно скачать
Подскажите тогда если регулярка нормально прописана - то куда копать и где искать косяк в парсинге-выводе инфы?
плеер то их, и вставлен как убрали они часть API видео через который можно было смотреть нормально в другом плеере. Не работают ссылки СКАЧАТЬ, а не сам плеер! И выдавать ссылки на скачивание должен тому IP который смотрит сейчас конкретный фильм... А по факту - вообще не понятно что не работаетТам сразу плеер вставлен контактовский, а Вы хотите ссылку получать.
При генерации страницы с плеером адреса всегда разные вставляются, дабы распределять нагрузку на сервера.
Если вставлять сразу плеер (iframe), то тут и регулярки не нужны. И привязка к IP того, кто в данный момент смотрит.
как именно она должна вывести чтобы понять почему ссылку дергает не так??Смотри что у тебя выдирается функцией print_r($matches); тогда и поймешь в чем дело.
Это понятно. Выводит строку массива в том виде в котором она представлена в исходном виде. Но опять же, данные если сразу же смотреть исходный код с выдираемого видео - отличается от того что выводится кодом выше, и ссылка не работает. Повторюсь: в ссылках все верно определяется, кроме имён файлов 270785a3d8.***.mp4, именно первая часть и отличается, и откуда она вообще берется при выводе ссылок - не понятно...$html = file_get_contents(urldecode($link));
получил код страницы
preg_match('/(?<=var vars = ).+}/', $html, $matches);
вот после этой строки и проверь что у тебя записалось в $matches. Если причина явно в этом месте то и копать нужно здесь.
<?php
function getVKVideoInfo($link, $getFilesizes = false) {
$html = file_get_contents(urldecode($link));
preg_match('/(?<=var vars = ).+}/', $html, $matches);
$json = json_decode(mb_convert_encoding($matches[0], "UTF-8", "CP1251"), true);
$result['name'] = urldecode($json['md_title']);
foreach ($json as $key => $value) {
if (strpos($key, 'url') === 0) {
preg_match('/^.+videos\/\w+\.(\d{3,4}).(\w{3,5})(?>=?)/', $value, $matches);
preg_match('/^.+videos\/\w+\.?(\d{3,4})?.(\w{3,5})(?>=?)/', $value, $matches);
$temp = array('link' => $value, 'quality' => $matches[1], 'format' => $matches[2]);
if ($getFilesizes) {
$head = array_change_key_case(get_headers($matches[0], true));
$temp['size'] = round($head['content-length'] / 1024 / 1024, 2);
}
$result['urls'][] = $temp;
unset($temp);
}
}
return $result;
}
print_r( getVKVideoInfo('http://vk.com/video_ext.php?oid=317204999&id=171444669&hash=de8b10f2b0efeca4'));
Array
(
[name] => 1/5175
[urls] => Array
(
[0] => Array
(
[link] => http://cs542307v4.vk.me/7/u317204999/videos/ba0078942e.240.mp4?extra=ZKlUaCK3-P1Yyyz3SB0TEXMQMaI5X7akL4SO0sVeM2Imga1rbWS048PPZg_qyL0zUspr_Srst_PQyNuh5gL_UF0TQqzyMA
[quality] => 240
[format] => mp4
)
[1] => Array
(
[link] => http://cs542307v4.vk.me/7/u317204999/videos/ba0078942e.360.mp4?extra=ZKlUaCK3-P1Yyyz3SB0TEXMQMaI5X7akL4SO0sVeM2Imga1rbWS048PPZg_qyL0zUspr_Srst_PQyNuh5gL_UF0TQqzyMA
[quality] => 360
[format] => mp4
)
[2] => Array
(
[link] => http://cs542307v4.vk.me/7/u317204999/videos/ba0078942e.480.mp4?extra=ZKlUaCK3-P1Yyyz3SB0TEXMQMaI5X7akL4SO0sVeM2Imga1rbWS048PPZg_qyL0zUspr_Srst_PQyNuh5gL_UF0TQqzyMA
[quality] => 480
[format] => mp4
)
[3] => Array
(
[link] => http://cs542307v4.vk.me/7/u317204999/videos/ba0078942e.720.mp4?extra=ZKlUaCK3-P1Yyyz3SB0TEXMQMaI5X7akL4SO0sVeM2Imga1rbWS048PPZg_qyL0zUspr_Srst_PQyNuh5gL_UF0TQqzyMA
[quality] => 720
[format] => mp4
)
)
)
Для просмотра ссылки Войдичто не так? или какую ссылку тестировать что бы увидеть ошибку