Вы не зашли.
Главная » PHP » выкачать контент с vk.com
#1. nexus Off (2)
Участник
2013.01.15 20:08
всем привет, ребят подскажите может знает кто? - в какую сторону "начать копать", для того чтобы научиться выкачивать видео/музыку из вконтакте? Хочу сделать сервис :-)
Добавлено спустя   2 минуты  37 секунд:
что то типо этого
#2. Gemorroj Off (107)
Administrator
2013.01.15 21:09
не работал с вконтактиком, но подозреваю, что нужно копать в сторону vk api
#3. nexus Off (2)
Участник
2013.01.16 04:04
там такая скудная информация.. И не нашел я этого там..
#4. nexus Off (2)
Участник
2013.01.16 10:10
semmit69 как понять? Там я ни одного исходника не нашел (
#5. Dark nexus
Гость
2013.01.16 10:10
Велосипед уже есть. Пользуйся: savefrom.net
#6. Gemorroj Off (107)
Administrator
2013.01.16 13:01
кстати, да, раскопай плагин под оперу, например, (он на js) и посмотри что они там делают.
#7. nexus Off (2)
Участник
2013.01.16 16:04
домой приду попробую че нибудь, спасибо Семмит!
#8. WapStyle Off (3)
Участник
2013.01.23 18:06
Держи. Как работать с ним? у меня не спрашивай, я за чистый "код" в инете и за оригинальность, говно граберов vk в инете и так хватает
Вложения
vk.class.zip 820b [загрузок: 527]
Отредактировано WapStyle (2013.01.23 18:06)
#9. Karayazi Off (1)
Участник
2013.01.25 20:08
Здравствуйте, а как получить ссылку на скачиване видео, дело в том что вк на видео прямую ссылку не передает ?.
#10. Gemorroj Off (107)
Administrator
2013.01.25 22:10
в интернетах такое встретил. сам с вк не работал и скрипт не проверял.
Код:
span style="color: #0000BB"><?phpdefine("BLOCK", 8 * 1024);# Надеюсь всем понятно что такое $url$url = "http://vk.com/video_ext.php?oid=-26208303&id=162713839&hash=e83192de1a010111&hd=3";$ch = curl_init();$user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.2.13) ' . 'Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729)';curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);curl_setopt($ch, CURLOPT_HEADER, false);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);curl_setopt($ch, CURLOPT_VERBOSE, 1);$vk = curl_exec($ch);curl_close($ch);preg_match('|host=(.*)&|Uis', $vk, $host);preg_match('|uid=(.*)&|Uis', $vk, $uid);preg_match('|vtag=(.*)&|Uis', $vk, $vtag);preg_match('|vkid=(.*)&|Uis', $vk, $vkid);preg_match('|no_flv=(.*)&|Uis', $vk, $no_flv);preg_match('|thumb=(.*)&|Uis', $vk, $thumb);preg_match('|md_title=(.*)&|Uis', $vk, $title);$title = urldecode($title['1']);if ($_GET['type'] == 'image') { $link = $thumb['1']; $header = get_headers($link, 0); $fp = fopen($link, "rb"); if (isset($header)) { foreach ($header as $v) { header($v); } } while (!feof($fp)) { echo fread($fp, BLOCK); }} else { if ($host) { $oldVideo = false; if ($uid['1'] == '0') { $oldVideo = true; } if ($oldVideo) { header('Content-Disposition: attachment; filename="' . $title . '.flv"'); $link = 'http://' . $host['1'] . '/assets/videos/' . $vtag['1'] . $vkid['1'] . '.vk.flv'; $header = get_headers($link, 0); $fp = fopen($link, "rb"); if (isset($header)) { foreach ($header as $v) { header($v); } } while (!feof($fp)) { echo fread($fp, BLOCK); } } else { if ($no_flv['1'] == '1') { header('Content-Disposition: attachment; filename="' . $title . '.mp4"'); $link = $host['1'] . 'u' . $uid['1'] . '/video/' . $vtag['1'] . '.240.mp4'; $header = get_headers($link, 0); $fp = fopen($link, "rb"); if (isset($header)) { foreach ($header as $v) { header($v); } } while (!feof($fp)) { echo fread($fp, BLOCK); } fclose($fp); } else { header('Content-Disposition: attachment; filename="' . $title . '.flv"'); $link = $host['1'] . 'u' . $uid['1'] . '/video/' . $vtag['1'] . '.flv'; $header = get_headers($link, 0); $fp = fopen($link, "rb"); if (isset($header)) { foreach ($header as $v) { header($v); } } while (!feof($fp)) { echo fread($fp, BLOCK); } fclose($fp); } } } else { header("HTTP/1.0 404 Not Found"); }}
#11. Karayazi Off (1)
Участник
2013.01.26 16:04
Этот код вообще что-то не находить.
#12. Karayazi Off (1)
Участник
2013.01.26 20:08
semmit69 написал:
Karayazi, 4 строчка.
вот что передает вк айпи: http://vkontakte.ru/video_ext.php?oid=51883226&id=164505576&hash=7d187779bd7b7ad8
Вставляю этот адрес в урл, всеровно пустой результат .
Добавлено спустя   9 минут  39 секунд:
Вот это нашоль в инете:
Код:
function getVideoUrl($url) {
$url = str_replace("\/","/",$url);
$ch = curl_init();
$user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.2.13) ' .
'Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729)';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_HEADER,false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_VERBOSE,1);
$result = curl_exec($ch);
curl_close($ch);
$video_url = '';
$hd = Array('240', '360', '480', '720', '1080');
preg_match("/var video_host = '([0-9a-z\.\/:]*)'/", $result, $res);
if (preg_match('/http/', $res[1]))
$video_url.=$res[1];
else {
$video_url.='http://cs' . $host[1];
}
if (substr($video_url, strlen($video_url) - 1, 1) != '/')
$video_url.='/';
preg_match("/var video_uid = '(\d*)'/", $result, $res);
$video_url.='u' . $res[1] . '/video/';
preg_match("/var video_vtag = '([\da-zA-Z]*)'/", $result, $res);
$video_url.=$res[1];
preg_match("/var video_no_flv = (\d)/", $result, $res);
if ($res[1] == 0) {
$video_url .= '.flv';
}
else if($res[1] == 1){
preg_match("/var video_max_hd = '(\d)'/", $result, $res);
$video_url .= '.'.$hd[$res[1]].'.mp4'.$res[1];
}
return $video_url;
}
Этот код тоже пустую  ссылку возвращает.
#13. WapStyle Off (3)
Участник
2013.02.08 06:06
Тот URL будет работать только с того IP который авторизировался на VK API
#14. Karayazi Off (1)
Участник
2013.02.08 12:12
WapStyle, а как передать тот урл для скачивания видео в браузер пользователя?
#15. WapStyle Off (3)
Участник
2013.02.08 12:12
Не как. Выкачиваеш файл сервером а потом отдаёш юзеру
Страниц: 1 2 Все
Главная
WEB
PunBB Mod v0.6.2
0.025 s