Установить vk api python

Сегодня мы поговорим о том как быстро скачать всю музыку из «Моих аудиозаписей». Впрочем скачать можно музыку не только у своего пользователя, но и у любого другого, а также у любой группы где у вас есть доступ (ставим — перед id). В этом нам поможет VK API и Python.

Сразу приведу код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# coding=utf-8
«»»
Script for download audio from VK
«»»

import re
import urllib
import vk_api

def remove(value):
«»»Return filtered name»»»
deletechars = r’/:*?»<>|’
for symbol in deletechars:
value = value.replace(symbol, »)
return value

def main():
«»»Download audio from VK»»»
login, password = ‘%your_login%’, ‘%your_password%’

#1 VK api для SMM-щика – Установка Python


vk_session = vk_api.VkApi(login, password)

try:
vk_session.authorization()
except vk_api.AuthorizationError as error_msg:
print error_msg # В случае ошибки выведем сообщение
return # и выйдем

vkon = vk_session.get_api()
# response = vkon.audio.get(owner_id=4215210, offset=279) пример с offset
response = vkon.audio.get(owner_id=%your_owner_id%)

dfile = urllib.URLopener()

for item in response[‘items’]:
url = re.sub(r’?extra=(.*)’, », item[‘url’])
artist = item[‘artist’]
title = item[‘title’]
fname = artist + ‘_’ + title + ‘.mp3’
print artist + ‘ ‘ + title + ‘ ‘ + url
dfile.retrieve(url, remove(fname))

if __name__ == ‘__main__’:
main()

Код под Python 2.

Вписываем свои логин и пароль Вконтакте, а также id своего пользователя (%your_login%, etc). Сохраняем как vkmp.py.

Устанавливаем недостающую либу и запускаем качалку:

Еще по теме:  Как найти пользователя Вконтакте в facebook

pip install vk_api
python vkmp.py

Такого не было

Вымышленная картинка с примером работы скрипта:

Считаю что продублировать у себя музыку локально не будет лишним.

Источник: hmdw.me

vk-api
Release 11.9.9

Dependencies 3 Dependent packages 22 Dependent repositories 43 Total releases 61 Latest release Jun 25, 2022 First release May 2, 2014 Stars 1.21K Forks 325 Watchers 75 Contributors 46 Repository size 911 KB

Documentation

vk_api – Python модуль для создания скриптов для ВКонтакте (vk.com API wrapper)

  • Документация
  • Примеры
  • Чат в Telegram
  • Документация по методам API
  • Альтернативы vk_api (асинхронность; боты)

python3 -m pip install vk_api
import vk_api vk_session = vk_api.VkApi(‘+71234567890’, ‘mypassword’) vk_session.auth() vk = vk_session.get_api() print(vk.

wall.post(message=’Hello world!’))

Python API VKontakte!! Как скачать фотографии из ВК через API?

Источник: libraries.io

H Работа с VK API на Python 3.x в черновиках Из песочницы

В последнее время мне часто приходится сталкиваться с API Вконтакте, благо для работы с ней есть замечательная библиотека, доступная для установки через PyPl с наименованием там vk. Но у неё есть один относительный недостаток: она не может получить за вас токен доступа к api (acess_token), без этого токена (набор символов, который Вконтакте выдает пользователю, если разрешает приложению доступ к его странице) работать с API нельзя. Проблемы, связанные с VK API, авторизацией и получением прав на python 3.x, а также небольшая инструкция и мини-FAQ по работе с VK API вы найдёте ниже.

Про токен

Получить токен можно разными путями, наиболее удобный и практичный описан в публикации «Пишем модуль для авторизации в VK API», но и он несовершенен, так как его можно использовать для Python 2.x, а мы люди прогрессивные и хотим 3.x, не так ли? Не буду томить, вот мой порт этого модуля под Python 3.x (никакие сторонние модули не нужны):

  • это закинуть по пути python/Lib/site-packages/;
  • а это исходник, если кому-то нужно;
Еще по теме:  Как по ид в ВК узнать номер телефона

import vk,vk_auth_port_by_bulates1 vkapi = vk.API(app_id,login,password) vkapi.access_token=vk_auth_port_by_bulates1.auth(login,password,app_id,’wall’) vkapi.wall.post(message=»Test from python 3.4″)

  1. Login — ваш логин вконтакте, строка, например, e-mail или телефон;
  2. Password — ваш пароль от вконтакте, строка, например, ‘qwerty123’;
  3. App_id — идентификатор вашего приложения, как получить — читаем дальше;
  4. «wall» — запрос на управления стенкой VK, дальше объясню более подробно.

Про идентификатор приложения (app_id)

Получается он очень просто, заходите сюда и создаёте собственное Standalone приложение, название значения не имеет. Далее жмёте редактировать приложение, заходите во вкладку настройки и видите строку ID приложения. То, что напротив неё, и есть app_id, посылаем его в виде строки.

Про права

Необходимые нам права указаны в официальной документации VK здесь. Выбираете нужный метод и там сверху написано жирным шрифтом, какие права нужно иметь, выписываем все необходимые нам права и посылаем их в виде строки с разделителем ‘+’, например, ‘wall+friends+groups’.

Про использование методов API

Теперь наконец-то приступим к написанию первого самостоятельного приложения.
Для начала предлагаю написать простенький скрипт для скачивания фото на компьютер с использованием API.

import vk,vk_auth_port_by_bulates1,urllib.request vkapi = vk.API(app_id,login,password) vkapi.access_token=vk_auth_port_by_bulates1.auth(login,password,app_id,’photos’) albums=[x[‘id’] for x in vkapi.photos.getAlbums(owner_id=yid)[‘items’]] for album in albums: photos=vkapi.photos.get(owner_id=yid,album_id=album)[‘items’] for photo in photos: link=photo[sorted([x for x in photo.keys() if ‘photo’ in x],key=lambda x: int(x.split(‘_’)[1]))[-1]] urllib.request.urlretrieve(link,link.split(‘/’)[-1])

  1. Импорт необходимых модулей, urllib — для скачивания файлов;
  2. Создаём экземпляр класса VK API;
  3. Получаем токен и добавляем его VK API
  4. Получаем список альбомов (функция getAlbums возвращает словарь, с которым уже можно работать без сторонних модулей) и достаём из них id;
  5. Начинаем цикл по id альбомов;
  6. Получаем список всех фотографий (вот в таком виде);
  7. Начинаем цикл по фотографиям;
  8. Получаем ссылку на фото в максимальном доступном разрешении (если кто знает способ получить её проще, отпишите пожалуйста, в комменты);
  9. Скачиваем фото.

В данном случае yid — идентификатор того, чьи альбомы скачиваем, например ваш, разумеется у вас должен быть доступ к этим фото

Короче чем тут, не так ли? Правда, здесь без выбора альбома, но это неважно, главное, что через API быстрее, короче и удобнее.

Еще по теме:  Что такое vk music remote

Мини FAQ

  • -Откуда брать список методов?
    — Из официальной документации, вызываются просто: vkapi.то что написано в документации, например vkapi.photos.Get();
  • — Какие аргументы для методов?
    — Всё там же в документации, передавать в виде имя=значение, например owner_id=’124214′;
  • — Как узнать какие нужны права?
    — В информации о методе в документации VK сверху есть строка, в которой жирным шрифтом выделено, какие права нужны; если надо несколько, то посылаем их строкой с разделителем ‘+’, например, ‘photos+wall’. Порядок значения не имеет;
  • — Все ли методы реализованы?
    — Да, все;
  • Если неправильный логин/пароль вернёт ли ошибку auth()?
    — Да, «Excpected sucess here»;
  • — Насчёт кодировки…
    — В основном возвращается строка utf-8.

Источник: sohabr.net

Рейтинг
( Пока оценок нет )
Загрузка ...