LINUX.ORG.RU
ФорумTalks

[пеар][GrabVK] Синхронизация музыки с vkontakte.ru


0

2

В срачах тут часто писали о том, что контакт не нужен и т.д., но всегда находились и те, кто говорил противоположное, например, что там можно слушать музыку и т.д.

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

Некоторый требования и особенности:

  • Написан на python 2.7 (какой в системе стоял)
  • Для своей работы также требует установленной lxml
  • Для авторизации теперь используется системный браузер, а не встроенный, ибо так быстрее, да и зачем плодить велосипеды? Выглядит это так - из скрипта запускается системный браузер по-умолчанию, отправляемый на ссылку для авторизации, после прохождения оной нужно скопировать три параметра скрипту. В остальном работа автономна.
  • Скачивает он весь плейлист с контакта по порядку. Т.е. если у вас в списке много песен -ждать придется прилично.
  • Для закачки требуется wget, который, собственно, и качает файлики.
  • Поддерживается докачка плейлиста, т.е. если уже что-то было скачано - оно качаться не будет

Запускается скрипт так:

cd /folder/to/playlist
python gravvk.py 

В директории, где вы находитесь, будет создана поддиректория download, в которую и накачается база музла.

Тестите, юзайте, отправляйте плюсики мне в карму.

Ссылка

★★★★★

Последнее исправление: Zhbert (всего исправлений: 1)

Ответ на: комментарий от ZenitharChampion

Там пеарили самую первую версию, не особ рабочую. А тут работает на ура и делает что надо =)

Zhbert ★★★★★
() автор топика

Забавно, забавно. Список из VK отдаётся приложением, которое ставит пользователь, я правильно понял? И да, оно может забирать музыку с чужих страничек без добавления к себе(код таки не запускал ибо на работе сейчас)?

Norgat ★★★★★
()
Ответ на: комментарий от Norgat

>Список из VK отдаётся приложением, которое ставит пользователь, я правильно понял?

Типа того. При авторизации оно в браузере запросит доступ к нужной инфе. Само приложение на страницу не добавляется вроде.

И да, оно может забирать музыку с чужих страничек без добавления к себе(код таки не запускал ибо на работе сейчас)?


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

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от Zhbert

Хотя мб и нет. Надо документацию почитать, может для доступа к другим страницам надо другой метод вызывать. Вечерком гляну.

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от Zhbert

Глянул, вроде тем же мотодом, но только с други ИД.

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от Norgat

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

Zhbert ★★★★★
() автор топика

> В прослушивании музыки в контакте есть один минус - нужно подключение к интернету

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

segfault ★★★★★
()

Почему бы музыку не слушать музыкальным плеером, а не браузером и в более-менее нормальном качестве, а не в говнофлеше? :)

Deleted
()
Ответ на: комментарий от Deleted

Ну, качество там как у всего мпз, а слушать теперь, благодаря моей поделке, можно и в нормальном плеере. А вообще сам по себе GrabVK задумывался как плеер, так что все впереди...

Zhbert ★★★★★
() автор топика
Ответ на: комментарий от etwrq

А, да, дествительно. Ага, решил сделать интерфейс более общительным =)

Zhbert ★★★★★
() автор топика
4 октября 2011 г.

я сделал немного попроще, да и при условиях:

1. быть авторизованным

2. полностью вытянуть страничку с интересующей музыкой

3. не раазлогиниваться пока всё не скачается

н.у.: mp3.html - сграбленная страница с музыкой собственно.

$tidy mp3.html -f /dev/null > links.html
$grep mp3 links.html | awk -F ',' '{print $1}' |awk -F '"' '{print $2}'  > somemp3s.list
$wget -i somemp3s.list -c -nc -t 999 -T 999
проблем несколько:

1. избавиться от lazy loading от вк, т.к. список он выдает не полный

2. делать какие либо действия в сессии что не уша по тайм-ауту

etwrq ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.