url – бывает у страниц, это их адрес. К примеру url сайта youtube выглядит так : http://www.youtube.com/
У музыкальных записей, проигрывателей и т. д его быть не может, он может убыть у страниц их содержащих.
Если вы хотите скачать музыку при помощи каких то программ для скачки музыки которым нужен url страницы содержащей это трэк, то откройте главную страницу этого трэка и уже от туда копируйте её адрес и вставляйте.
Например вот ваша музыка в вашем мире, а вот каждый трэк в отдельности.
Если хотите скачать (ну или просто дать ссылку на музыкальную запись кому то что бы он не искал её среди прочих) трэк жмёте на надпись “подробнее” рядом с ним. И копируете строку адреса url.
По просьбе моих друзей даю урок – как взять прямую ссылку музыкального файла с браузера Google для плеера. Например, с этого сайта
Сайт здесь!
MUZMO.RU:
На любом свободном поле клик правой клавиши “мышки” , появится окно с меню, клик на “Просмотреть код”.
Откроется код. Здесь самолично ни на что не нажимаем, не сдвигаем, кроме моих команд. Итак, в верхней консоли кликаем на “Network”.
Далее на “Media”. Если браузер попросит переключиться, нажимайте на F5 – (верхние клавиши клавиатуры) отмечено “галочкой”.
Включаем на пуск музыку (слева в колонке), тут же в коде появляется файл со всеми свойствами. Наведите курсор и вы увидите прямую ссылку на этот музыкальный файл. Посмотрите внимательно на таблицу, если вдруг обозначения окрашены в желтый или красный цвет, эта ссылка битая, не берите ее, если как у меня – черным, статус 206, это нормально,
если желтым 404, не берите, проигрываться у вас не будет.
Клик правой клавишей “мышки” по номеру файла, появится окошко с меню, укажите курсором на “Copy” и далее по стрелочке клик правой клавишей, т.е. копируете “Copy link address” .
Скопированную прямую ссылку вставляете в свой плеер.
Время на прочтение
3 мин
Количество просмотров 42K
Данная страница будет полезной для тех, кто решил взять заказ на парсер аудио-треков VK и резко понял, что ничего не понял.
В чем проблема
Знакомо?
https://m.vk.com/mp3/audio_api_unavailable.mp3?extra=AeL2rMfFyZzlD3HkyvfnvNvLx1KOqw5UDfuXCOTvttm4ts1OBJnYELvHyxvODI9fnM9YztD5A3iOyI14sxv2mNiXt3iTzdLInduXzvG9C2uVr3b5mezinfj2lJbpDhGYC25rDxbwsOPQmg1eu2Pbyxr3ntPowNLhDMrrDs8XnKu2sOuOyO8XzMf1otDmBtL6BNvllNjZx3aZuLHpq3aOBvvhzenJnZKTzKnMuwfKBI4TquffrtzKv2nymMyVDu1LzJnuwMLxwMm/BeTcserWlun3ExLVBG#AqSZntu
Если да — то вы пытались парсить мобильную версию сайта и успешно доставали ссылки. Неверные ссылки. Ссылки на 25-секундный голос, сообщающий что все идет не по плану.
Если нет — вам стоит попробовать.
Как получить верный URL
А вот это верный вопрос! Дело в том, что перед воспроизведением записи, вк натравливает на такой url заготовленные js-скрипты. В общем-то ничего сложного — несколько переворотов строк, побитовые сдвиги, даже одно побитовое отрицание. И все это сжато компрессором.
Честно говоря, раньше искать функции, отвечающие за это дело, было сложнее. Судя по всему во Вконтакте завелись кроты)) Иначе как блин объяснить то, что они подписали, буквально повесили вывеску на самом нужном месте:
Ладно, ладно, все мы рабы сборщиков…
Без лишних слов, актуальный код
Декодер на JavaScript
var id = 0; //Ваш userid
var n = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN0PQRSTUVWXYZO123456789+/=",
i = {
v: function(e) {
return e.split("").reverse().join("")
},
r: function(e, t) {
e = e.split("");
for (var i, o = n + n, s = e.length; s--;) i = o.indexOf(e[s]), ~i && (e[s] = o.substr(i - t, 1));
return e.join("")
},
s: function(e, t) {
var n = e.length;
if (n) {
var i = r(e, t),
o = 0;
for (e = e.split(""); ++o < n;) e[o] = e.splice(i[n - 1 - o], 1, e[o])[0];
e = e.join("")
}
return e
},
i: function(e, t) {
return i.s(e, t ^ id)
},
x: function(e, t) {
var n = [];
return t = t.charCodeAt(0), each(e.split(""), function(e, i) {
n.push(String.fromCharCode(i.charCodeAt(0) ^ t))
}), n.join("")
}
};
function o() {
return window.wbopen && ~(window.open + "").indexOf("wbopen")
}
function s(e) {
if (!o() && ~e.indexOf("audio_api_unavailable")) {
var t = e.split("?extra=")[1].split("#"),
n = "" === t[1] ? "" : a(t[1]);
if (t = a(t[0]), "string" != typeof n || !t) return e;
n = n ? n.split(String.fromCharCode(9)) : [];
for (var s, r, l = n.length; l--;) {
if (r = n[l].split(String.fromCharCode(11)), s = r.splice(0, 1, t)[0], !i[s]) return e;
t = i[s].apply(null, r)
}
if (t && "http" === t.substr(0, 4)) return t
}
return e
}
function a(e) {
if (!e || e.length % 4 == 1) return !1;
for (var t, i, o = 0, s = 0, a = ""; i = e.charAt(s++);) i = n.indexOf(i), ~i && (t = o % 4 ? 64 * t + i : i, o++ % 4) && (a += String.fromCharCode(255 & t >> (-2 * o & 6)));
return a
}
function r(e, t) {
var n = e.length,
i = [];
if (n) {
var o = n;
for (t = Math.abs(t); o--;) t = (n * (o + 1) ^ t + o) % n, i[o] = t
}
return i
}
Буква в букву декодер на PHP
global $n, $i, $id;
$n = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN0PQRSTUVWXYZO123456789+/=";
$id = 123456789; //user_id
$i = [
'v' => function($e) {
return strrev($e);
},
'r' => function($e, $t){
global $n;
$e = str_split($e);
for ($o = $n . $n, $s = count($e); $s--;){
$i = stripos($o, $e[$s]);
if(~$i){
$e[$s] = substr($o, $i - $t, 1);
}
}
return implode("", $e);
},
's' => function($e, $t) {
$n = strlen($e);
if ($n) {
$i = r($e, $t);
$o = 0;
$e = str_split($e);
for (; ++$o < $n;){
$p = array_splice($e, $i[$n - 1 - $o], 1, $e[$o]);
$e[$o] = $p[0];
}
$e = implode("", $e);
}
return $e;
},
'i' => function($e, $t){
global $i, $id;
$k = $i['s'];
return $k($e, $t ^ $id);
},
];
function o() {
return false;
}
function a($e){
global $n;
if (!$e || strlen($e) % 4 == 1) {
return !1;
}
$s = 0;
for ($o = 0, $a = "";$s < strlen($e);) {
$i = $e[$s++];
$i = strpos($n, $i);
if ($i !== false) {
$t = ($o % 4) ? 64 * $t + $i : $i;
if ($o++ % 4) {
$a .= chr(255 & $t >> (-2 * $o & 6));
}
}
}
return $a;
}
function r($e, $t) {
$n = strlen($e);
$i = [];
if ($n) {
$o = $n;
$t = abs($t);
for (; $o--;){
$t = ($n * ($o + 1) ^ $t + $o) % $n;
$i[$o] = $t;
}
}
return $i;
}
function s($e){
global $i;
if (!o() && strpos($e, "audio_api_unavailable") !== false) {
$t = explode("?extra=", $e);
$t = $t[1];
$t = explode("#", $t);
$n = ("" === $t[1]) ? "" : a($t[1]);
$t = a($t[0]);
if (!is_string($n) || !$t){ return $e;}
$n = $n ? explode(chr(9), $n) : [];
for ($l = count($n); $l--;) {
$r = explode(chr(11), $n[$l]);
$s = array_splice($r, 0, 1, $t);
$s = $s[0];
if (!$i[$s]){ return $e; }
$t = $i[$s](...$r);
}
if ($t && "http" === substr($t, 0, 4)){ return $t;}
}
return $e;
}
В обоих случаях
s("https://m.vk.com/mp3/audio_api_unavailable.mp3?extra=encodeextraurl");
Думаю, при надобности с PHP на другой язык перевести код будет уже проще.
Статья написана с целью снизить кол-во человекоминут в мире, затрачиваемых на эту задачу.
P.s: Актуальное решение всегда можно будет найти здесь: gist.github.com/in4in-dev/09f32f313f11b2c10778d9e2ffe7e60e
P.s2: Пользователь ImIeee также обновляет свое решение в репозитории github.com/vodka2/vkaudio (тут вы найдете решение на Python)
Я не знаю как сделать ссылку самому, но узнать такую прямую ссылку несложно. Например, возьмем, ВКонтакте, там легче всего узнать прямую ссылку. Ведь многие сайты скрывают прямые ссылки.
Для того, чтобы узнать прямую ссылку на музыку обязательно нужно скачать расширение Vkopt. Без него никак (только в старом дизайне, а он уже недоступен).
После того, как установили и включили функцию скачивания музыки (она по умолчанию включена). Нажмите правой кнопкой мыши по значку скачать. Выберите пункт “Проверить” (или просмотр кода элемента и т.д.)
Потом в коде найдите такую строку:
Скопируйте ее содержимое до первого знака вопроса:
Измените https на http. У нас получится: http://psv4.vk.me/c6193/u102021229/audios/b63e27fee475.mp3
Вот и все. Вот данная музыка
Как получить прямую ссылку на поток любой онлайновой радиостанции
В интернете существуют тысячи онлайновых станций, круглосуточно вещающих самую разнообразную музыку. Можно слушать их непосредственно на соответствующих сайтах или специальных каталогах типа Shoutcast или TuneIn, но гораздо удобнее делать это в обычном десктопном плеере. Во-первых, это позволяет создавать из разных станций списки по жанрам или настроению, а во-вторых, некоторые плееры умеют еще и записывать прямой эфир.
Многие каналы прямо на своих сайтах приводят ссылки для воспроизведения в плеере, но далеко не все. И это вполне понятно, создатели сайта не хотят вас отпускать со своего сайта, чтобы показать вам побольше рекламы. Можно, разумеется, подсмотреть требуемую ссылку в исходном коде, но она бывает иногда так искусно спрятана, что человеку без знания HTML может быть трудно разобраться. Поэтому мы хотим вас познакомить с легким способом получения адреса потока практически любой станции.
Для пользователей Google Chrome
1. Открываем страницу станции в своем браузере.
2. Нажимаем F12. Открывается панель инструментов для разработчиков.
3. Перезагружаем страницу, после чего включаем воспроизведение.
4. В открытой внизу панели переходим на вкладку Network и ищем в колонке Timeline самое длительное соединение.
5. Щелкаем правой кнопкой мыши по ссылке и копируем ее в буфер обмена.
Здесь надо сказать, что бывают разные варианты и иногда полученную ссылку надо немного изменить. Например, в приведенном случае она имеет вид http://pub5.sky.fm/sky_tophits_aacplus?type=.flv и работать не будет. Но если убрать ее хвост, после вопросительного знака включительно, то все заиграет. Так что нужно экспериментировать.
Для пользователей Firefox
Если вы пользуетесь этим замечательным браузером, то у вас наверняка установлено расширение Adblock Plus. А если еще нет, то обязательно установите его, ведь оно не только отлично режет рекламу, но и поможет нам искать нужную ссылку на музыку.
1. Открываем сайт станции в Mozilla Firefox.
2. Нажимаем сочетание клавиш CTRL+SHIFT+V после чего открывается список элементов просматриваемой страницы.
3. В этой таблице обращаем внимание на колонку Тип и находим в ней значение Объект или Запрос объекта.
4. Часто таких записей несколько, поэтому опытным путем находим подходящую. В приведенном на скриншоте случае видим знакомую уже по описанию выше ссылку, которую надо точно так же укоротить.
У меня все равно не играет, в чем дело?
Скорее всего вам попалась радиостанция, которая определяет каким образом вы подключаетесь к ее каналу — через браузер или просто из плеера и блокирует такое соединение.
В таком случае придется использовать замечательный аудиоплеер AIMP, который умеет маскироваться под браузер. Для этого в настройках программы (Настройки -> Воспроизведение -> Параметры подключения -> User-Agent) введите Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) и все должно заработать.
Приятного вам прослушивания!