Comments 46
UFO landed and left these words here
А как ее собрать, если некоторые треки есть только вк?
Раньше был на хабре скрипт на питоне, который выкачивал весь свой плейлист, причем искал треки с максимальным качеством. Есть что-то подобное сейчас?

Сейчас, насколько я понимаю, он автоматически максимально доступное качество выдаёт.

Всякий андерграунд, самиздат (например, там, «мы новая группа, это наш первый и последний альбом») и прочая узкоспециализированная вкусовщина. Я недавно переезжал музыкой из ВК в облачные сервисы, перенеслась примерно треть музыки. Остального нет даже на гигантах вроде яблока и гугла.
Да полно таких. У меня примерно 25% плей-листа — треки и альбомы, которых нет в других сервисах. В том числе и зарубежные вещи. Кое-что доступно на торрентах, и то искать надо, кое-что — только в ВК.
Есть куча расширений для браузера, которые выдирают прямые ссылки из ВК, Ютуба и прочих сервисов (причём расширение, которым пользуюсь я, ещё и гармонично встраивает кнопки скачки в дизайн каждого поддерживаемого сайта). «Всё уже придумано за нас».

Так-то я торрентами пользуюсь, но когда нужно было скачать трек из вк, подумал, что было бы неплохо научиться делать это массово, да и друзья спрашивали, можно ли скачивать свою музыку сейчас, или нет.

Я думаю, полезно, но вряд-ли ошибусь, что это запрещено пользовательским соглашением ВК, что-то писали об этом) А так — молодец!

Ждем очередного изменения api вконтактика =D
Если кому-нибудь нужно разово скачать музыку или аудиофайл, то можно выловить прямую ссылку из http запросов, например, httpfox'ом для лисы
можно выловить прямую ссылку из http запросов, например, httpfox'ом для лисы

инспекторы с вкладкой Network есть из коробки в любом современном браузере

можно без вылавливания ссылок, есть куча расширений, SaveFrom.net — одно из них
при наведении кнопочка появляется напротив каждого трека, битрейт и размер файла

А вам не страшно подключать такие штуки? С первым же обновлением расширения, туда может придти что-нибудь неподобающее. И хорошо если это всего-лишь какой-нибудь крипто-майнер или дополнительные блоки рекламы. Помню я как-то пытался посмотреть парочку из такого вот рода расширений (их не всегда пускают в store, так что они хостятся где-нибудь у себя), был сильно разочарован, ибо зло-обновлений ждать было не нужно, всё было уже в комплекте :)

Страшно, поэтому я не пользую всякие VKontakte download
Это расширение идет в комплекте с ЯБ, поэтому, если ему не доверять, то вообще ни одному нельзя доверять, что поставляет нам разработчик. Да и самому браузеру вместе с ОС нельзя доверять, если следовать этой логике, ибо каждый разработчик преследует свои цели, особенно разработчики бесплатных браузеров. В конечном счете, оно у меня всегда выключено и включаю лишь при необходимости.
Те, что хостятся у себя, я даже не рассматриваю.
Да и самому браузеру вместе с ОС нельзя доверять, если следовать этой логике,
Браузерам уже давно многие не доверяют, держат их в какой-нибудь «песочнице» с поддельным окружением.
Про «доверять» я имел ввиду на уровне вшитых в них майнеров. Если он вшит, то хоть какое окружение ему подсовывай, ему для вычислений без разницы, ЦП есть и ладно. А вот на счет того, что он постоянно стучит своим хозяевам, так тут давно всё ясно.
Но там есть ограничение по объему. Для музыки, может, и не важно, а длинное видео не скачать. А их так называемый Помощник почему-то не устанавливается.

До поры до времени поможет. А потом ребята пойдут по стопам soundcloud и подобных проектов и начнут резать треки на 2-3 секунды блобы, обрабатывая их на лету ;)

ну так алгоритм обработки блобов все равно останется в js коде. его даже изучать сильно не надо — так же скопировать в nodejs. останется только куски 2-3сек склеить.
конечно это будет чуть сложнее, но также один человек посидел вечер — разобрался — скинул на хабр и надо опять новый алгоритм придумывать/менять.
в корне проблему не решить. да и юзеры всегда или на другом сайте могут скачать или особо умные включат диктофон на компьютере и запишут :)

Насколько этот код легко можно будет извлечь изолированно от его framework-а тот ещё вопрос. Склейка, опять же, может быть весьма не тривиальной (например не весь blob используется, а только часть, reverse, xor и пр.). И можно менять это всё дело раз в час (например перед воспроизведением запрашивать хеш для распаковки фрагментов). Ну и т.д… Нафантазировать такую пургу, что мало кому захочется извращаться поддерживать это это, да ещё и обновляться при изменениях — несложно.


Другое дело, что тогда народ зайдёт с другой стороны. Например будет запускать браузерную вкладку и эмулировать в ней все необходимые клики а саму запись "снимать" на лету за счёт фейкового доступа к аудиокарте). Ой… Что-то меня понесло. Хотя если загуглить вопросы типа "how to detect selenium\phantom" то становится ясно, что тема не нова.


В общем если вопрос встанет ребром — то упороться можно будет на пятёрочку :) Самое меньшее — просто открыть network-tab в dev-tools-ах будет недостаточно )

Есть куча софта для захвата аудио, идущего на звуковую карту. Запускаем запись, запускаем плей-лист из всей музыки, что хотим скачать. Когда закончит играть результат нарезаем и получаем mp3. Если провернуть в виртуалке, то и основной системой в процессе можно будет пользоваться. Разумеется, это нужно только для всяких не очень популярных треков, которые есть только в ВК. Остальное проще скачать с торрентов.
А потом от браузеров, выполняющих такой код, ноутбуки пытаются взлететь. За такое вообще карать следует.

Дык там же сплошные финалисты ACM работают. Тормозить не должно, это же будет постыдно, надо держать марку ;) Ещё небось напишут на asm.js или wasm. Может к тому времени и DRM какой подойдёт к релизу в браузерах.

Искренне надеюсь, что такого не произойдёт. А по поводу «постыдно» обратитесь к ВКонтактику и Фейсбуку. И, если ВК лишь слегонца подкидывает мой ноут на реактивной тяге вентилятора, то Фейсбук открытыми диалогами напрочь делает из бедного устройства двигатель для авиамоделиста. С термопастой и системой охлаждения всё хорошо.
Мне когда нужно было видео скачать — я просто локально настроил Fiddler и написал скрипт на 10 строчек на C# для сохранения ответов сервера нужного типа в локальную папку.
Работать будет для любых сайтов и защититься практически невозможно, но для больших коллекций ждать придется долго.
Я на VBSе делал такой скрипт, чтобы видео таскать с балансеров))) Однопоточный, правда, был вариант, но за 30 мин скачивал.
Но на самом деле, можно сделать еще проще. Когда-то давно, была популярна качалка FlashGet. Она и сейчас есть, но старая версия была заточена под dialup модемы и там были очень полезные плюшки, которых нет в современных версиях. Например — пакетная закачка, там достаточно указать маску ссылки на первый файл и инкремент. Далее берем из вкладки браузера ссылку на первый кусок видео (которое разбито на 1000 кусков), смотрим, чем отличается ссылка на второй кусок. Часто бывает так, что имена файлов меняются просто инкрементом. Говорим FlashGet-у скачать файлы с 0001 по 1050 и он начинает пылесосить.

Я до сих пор его иногда использую, отключил проверку на обновление, чтобы он даже не думал об этих глупостях.
А если книга разбита на разные трек/главы то как скачать их все?
Создать плейлист со всеми частями, немного переделать скрипт (playlist id поменять и функцию сохранения написать)

Все это, конечно, круто
Но смысла особого не видно. Разве нет кучи расширений для кучи браузеров или кучи подобных приложений в гугл плей? Очередной велосипед

Когда я понял, что больше музыка из ВК не скачивается, я потерял похоже последнюю причину им пользоваться. 1-2 паблика почитать, конечно, интересно, но осмысленного использования ВК как соцсети я не вижу уже пару лет. А жаль, мне нравилось, как раньше работал раздел рекомендаций. Не понравилось — сделал рефреш и получил свежую порцию музыки. А сейчас всё кешируется — выдало говно и всё, без вариантов.
Сейвфромнет дает кнопочку скачки рядом с каждым треком, работает даже на файрфокс в андроид мобилах
Не знаю как насчет массовости, но лично мои потребности по скачиванию музыки из вк на 100% покрываются вкладкой network > media в хроме. При клике на трек, там появляется ссылка, перейдя по которой, можно скачать сам трек.
жаль, что здесь бывают и товарищи из ВК)) еще одну дырочку прикроют)))
Будет бОльший стимул покинуть эту подФСБшную социалку.
Не логично ли им тогда оставить нам хоть какую то радость в виде бесплатной музыки и кеша? А взамен получать о нас персональную информацию:) А то скоро заберут все, что держит людей в этой соц сети.
Как то тоже писал расширение, по скачиванию музыки из вк) Было где то назад, использовался тот же al_audio. Правда по моему запрос возвращался чуть в другом формате, надо покопаться на компе, исходники найти)
Когда удалялся из ВК (3 года назад) тоже решил выкачать все песни. Тогда написал JS скрипт, который работал только в FF (т.к. использовал какой-то API доступный только там). Ссылки доставал прямо из HTML и парсил там-же на месте. Единственная проблема — нельзя самому задавать имена файлам, но это оказалось не проблемой т.к. 90% файлов имели имя альбома-название трека и т.п. зашитыми внутрь… С тех пор не проверял изменилось VK API или нет…
Вообще тут есть интересный момент: не знаю, как сейчас, но еще пару месяцев назад ВК спокойно отдавал музыку по прямым ссылкам незалогиненным пользователям. В итоге проще было относительно простым скриптом сгенерировать список ссылок в браузере, после чего скормить его той же ноде. В итоге выкачивать плейлисты стало быстро и удобно — намотал скроллом нужное кол-во — и вперед.
Не все можно было так просто скачать, для каких-то треков пришлось сохранять и скармливать wget-у печеньки от ВК.
Вот бы кто научился искать музыку в вк не ограничиваясь в 5-7 тыс. записей. И вообще замечательно, с использованием масок.
Only those users with full accounts are able to leave comments. Log in, please.