Skip to content

nshib00/wiffy

Repository files navigation

icon-16 Wiffy

Приложение для скачивания аудиозаписей с профиля ВК через сайт kissvk.com.

Для парсинга данных с сайта Wiffy использует Selenium и драйвер Chrome.

Возможности

  • Получение данных об аудиозаписях со страницы ВК через kissvk.com (в том числе ссылки для скачивания).
  • Сохранение данных об аудио пользователя в JSON-файле → нет необходимости каждый раз искать аудио заново.
  • Скачивание аудио по ранее собранным ссылкам.
  • Выбор количества аудио для скачивания (от 1 до всех сохраненных).

Скриншоты

Как установить (для Windows)

Примечание. Для корректной работы программы не выносите exe-файл приложения из папки. Создайте ярлык файла в удобном для вас месте.

Как запустить через Python

Программа использует инструмент для управления зависимости Poetry вместо pip.

Если Poetry нет на вашем компьютере, установите через pip:

pip install poetry

Выполните в консоли:

git clone https://github.com/nshib00/wiffy.git
cd wiffy
poetry shell
poetry install --no-root

Далее необходимо скачать расширение Adblocker Ultimate для браузера Chrome. Оно необходимо для блокировки рекламных окон при парсинге. Скачать можно из релизов проекта по ссылке или с помощью утилиты curl:

curl -L -O https://github.com/nshib00/wiffy/releases/download/v0.4.3/extensions.zip

Распакуйте zip-архив в корень проекта, должна появиться папка extensions с файлом Adblocker-Ultimate.crx.

Затем из корня проекта запустите главный файл приложения:

python main.py

При запуске в первый раз может быть установлен движок браузера Chrome. Это необходимо для работы библиотеки Selenium.

Основные используемые библиотеки

  • Selenium - парсинг страниц с аудиозаписями.
  • BeautifulSoup - парсинг собранного контента в формате HTML.
  • Requests - скачивание найденных аудиозаписей.
  • CustomTkinter - графический интерфейс.
  • Black, isort, flake8 - стилизация и форматирование кода.

Примечания

  • При скачивании треков (после авторизации парсером на kissvk) в ВК придет уведомление о входе в аккаунт. Это нормально, поскольку для доступа к трекам через kissvk необходима авторизация через ВК. Авторизация выполняется парсером автоматически.
  • Не рекомендуется выполнять поиск треков много раз подряд, так как ВК может посчитать подобную активность подозрительной. Возможна блокировка авторизации на kissvk на несколько часов.
  • Ссылки на треки действуют некоторое время (до нескольких дней), поэтому если список треков не требуется обновлять, то пользуйтесь списком уже сохраненных треков.
  • Если будут возникать ошибки при скачивании треков, запустите парсер снова (кнопка "Найти треки из ВК"). Так обновится список сохраненных треков и ссылки на все аудиозаписи.
  • Скорее всего, будет найдено меньше аудиозаписей, чем у вас есть в ВК. Это свзяно с тем, что часть аудио может быть заблокирована в ВК по разным причинам. Заблокированные аудио не отображаются в kissvk, а значит, не могут быть собраны парсером и в дальнейшем скачаны.

Решение возможных проблем

  1. Если при первом запуске возникает данная ошибка:
FileNotFoundError: [Errno 2] No such file or directory: ''

то программа не увидела файл .env. Если файл появился в проекте при первом запуске, перезапустите приложение. Если нет, создайте файл .env вручную в корне проекта.

  1. Если парсер не может вставить ваш номер телефона / email в форму авторизации, пропишите в файле .env следующий параметр:
VK_LOGIN=<номер телефона или email, привязанный к ВК>

Лицензия

В проекте используется лицензия MIT.