11# -*- coding: utf-8 -*-
22import collections
3+
34import vk_api
5+ from vk_api .audio import VKAudio
46
57
68def main ():
@@ -15,41 +17,37 @@ def main():
1517 print (error_msg )
1618 return
1719
18- vkaudio = vk_session .get_audio ()
19-
20- """
21- VkApi.audio.get и VkApi.audio.search делает запросы к странице m.vk.com
22- и извлекает информацию из html. Необходимый параметр для метода search - 'q',
23- а для get - 'owner_id'. Параметр offset принимает стандартное значение - 0.
24- Здесь мы получим все аудиозаписи пользователя в цикле с использованием параметра offset
25- и составим рейтинг самых популярных исполнителей для данного профиля.
26- Ниже мы выведем список из 10 песен самого популярного
27- """
20+ vkaudio = VKAudio (vk_session )
2821
29- count = 0
3022 artists = collections .Counter ()
23+
24+ offset = 0
25+
3126 while True :
32- audios = vkaudio .get (owner_id = - 99463083 , offset = count )
33- print ('offset=' , count )
27+ audios = vkaudio .get (owner_id = - 99463083 , offset = offset )
28+
29+ if not audios :
30+ break
31+
3432 for audio in audios :
3533 artists [audio ['artist' ]] += 1
3634
37- count += len (audios )
35+ offset += len (audios )
3836
39- if len (audios ) == 0 :
40- break
41-
42- # состаляем рейтинг первых 15
37+ # Составляем рейтинг первых 15
4338 print ('\n Top 15:' )
4439 for artist , tracks in artists .most_common (15 ):
45- print ('{} - {} tracks added' .format (artist , tracks ))
46-
47- # ищем треки самого популярного
48- most_common = artists .most_common (1 )[0 ][0 ]
49- print ('\n Search for ' , most_common )
50- tracks = vkaudio .search (q = most_common )
51- for n , track in enumerate (tracks [:10 ]):
52- print ('{}. {}\n URL: {}' .format (n + 1 , track ['title' ], track ['url' ]))
40+ print ('{} - {} tracks' .format (artist , tracks ))
41+
42+ # Ищем треки самого популярного
43+ most_common_artist = artists .most_common (1 )[0 ][0 ]
44+
45+ print ('\n Search for' , most_common_artist )
46+
47+ tracks = vkaudio .search (q = most_common_artist )[:10 ]
48+
49+ for n , track in enumerate (tracks , 1 ):
50+ print ('{}. {} {}' .format (n , track ['title' ], track ['url' ]))
5351
5452if __name__ == '__main__' :
5553 main ()
0 commit comments