Esempio n. 1
0
def main():
    """ Пример составления топа исполнителей для профиля вк """

    login, password = '******', 'password'
    vk_session = vk_api.VkApi(login, password)

    try:
        vk_session.auth()
    except vk_api.AuthError as error_msg:
        print(error_msg)
        return

    vkaudio = VkAudio(vk_session)

    artists = collections.Counter()

    for track in vkaudio.get_iter(-99463083):
        artists[track['artist']] += 1

    # Составляем рейтинг первых 15
    print('\nTop 15:')
    for artist, tracks in artists.most_common(15):
        print('{} - {} tracks'.format(artist, tracks))

    # Ищем треки самого популярного
    most_common_artist = artists.most_common(1)[0][0]

    print('\nSearch for', most_common_artist)

    tracks = vkaudio.search(q=most_common_artist)[:10]

    for n, track in enumerate(tracks, 1):
        print('{}. {} {}'.format(n, track['title'], track['url']))
Esempio n. 2
0
def search_aidio(Choice_fanc: str, vk_sessions: vk_api.vk_api.VkApi, name: str,
                 count: int):
    """
    Поиск аудио записей из общего поиска вк
    или из плей листа пользователя
    """
    #_________________________________________________#

    vkaudio = VkAudio(vk_sessions)
    if Choice_fanc == 'all':
        search_111 = []
        for lists_music in vkaudio.search(name, count):
            search_111.append((lists_music['artist'], lists_music['title'],
                               lists_music['url']))
        return search_111

    if Choice_fanc == 'id':
        search_111 = []
        if not isinstance(name, int):
            try:
                name = int(name)
            except ValueError:
                return False

        for lists_music in enumerate(vkaudio.get_iter(owner_id=name)):
            if lists_music[0] <= count:
                search_111.append(
                    (lists_music[1]['artist'], lists_music[1]['title'],
                     lists_music[1]['url']))
            else:
                break
        return search_111

    return False
Esempio n. 3
0
def main():
    """ Пример составления топа исполнителей для профиля вк """

    login, password = '******', 'password'
    vk_session = vk_api.VkApi(login, password)

    try:
        vk_session.auth()
    except vk_api.AuthError as error_msg:
        print(error_msg)
        return

    vkaudio = VkAudio(vk_session)

    artists = collections.Counter(
        track['artist'] for track in vkaudio.get_iter()
    )

    # Составляем рейтинг первых 15
    print('Top 15:')
    for artist, tracks in artists.most_common(15):
        print('{} - {} tracks'.format(artist, tracks))

    # Ищем треки самого популярного
    most_common_artist = artists.most_common(1)[0][0]

    print('\nSearching for {}:'.format(most_common_artist))

    tracks = vkaudio.search(q=most_common_artist, count=10)

    for n, track in enumerate(tracks, 1):
        print('{}. {} {}'.format(n, track['title'], track['url']))
Esempio n. 4
0
    def getting_audios(self):
        vk_audio = VkAudio(self.VK)

        artists = collections.Counter(track['artist']
                                      for track in vk_audio.get_iter())
        most_common_artist = artists.most_common(1)[0][0]

        tracks = vk_audio.search(q=most_common_artist, count=10)
        self.audios = []
        for self.n, self.track in enumerate(tracks, 1):
            self.audios.append(self.track['title'])
Esempio n. 5
0
def get_vk_music_list():
    print("VK Scrapping started")
    vk_session = vk_api.VkApi(vk_login, vk_password, auth_handler=auth_handler)

    try:
        vk_session.auth()
    except vk_api.AuthError as error_msg:
        print(error_msg)
        return

    vkaudio = VkAudio(vk_session)
    # ? list
    all_vk_music = set()
    for track in vkaudio.get_iter():
        all_vk_music.add(f"{track['artist']}: {track['title']}")

    print("GOT ALL VK")

    return all_vk_music
Esempio n. 6
0
def main():
    login, password = input('Login: '******'Enter 0 to download your audios or write user_id or group_id without "id" to download other people music: '
    )

    user_id = vk.users.get()[0]['id'] if choice == '0' else choice

    for audio in vk_audio.get_iter(user_id):
        artist = audio['artist'].replace('/', '')
        title = audio['title'].replace('/', '')
        url = audio['url']
        file_name = '/'.join(
            (DOWNLOAD_DIR, '{} - {}.mp3'.format(artist, title)))
        if not os.path.isfile(file_name):
            response = requests.get(url, stream=True)
            print('Downloading: {}'.format(file_name), sep=' ')
            try:
                with open(file_name, 'wb') as f:
                    shutil.copyfileobj(response.raw, f)
            except Exception as error_msg:
                print(error_msg)
            print('OK')
Esempio n. 7
0
try:
    session.auth()
except vk_api.AuthError as error_msg:
    print(error_msg)
vk = session.get_api()

print('1 - парсить музыку \n2 - парсить сохры')
print('input: ')
choice = int(input())
# музыка
if choice == 1:
    vkaudio = VkAudio(session)
    print('Получение списка')

    id_s = []
    for track in vkaudio.get_iter(owner):
        id_s.append(track['id'])

    id_s.reverse()
    print('Начало добавления музыки')
    for track in id_s:
        try:
            vk.audio.add(audio_id=track, owner_id=owner)
            print(track, 'Добавлен')
        except Exception as error_msg:
            print(error_msg)
    print('Готово. Добавлено - ', id_s.count(), 'произведений')
# Сохры
elif choice == 2:
    print('Получение списка')