Python. Разобраться в ошибке метода audio.get библиотеки vk_api

1 000 руб. за проект
02 мая 2020, 14:24 • 3 отклика • 50 просмотров
С перебоями работает метод выгрузки аудиозаписей для пользователя вконтакте. Причем для тех, чьи аудиозаписи доступны для публичного просмотра. Привел два положительных и два отрицаельных примера. Задача: предоставить решение, которое выгружает аудио для этих проблемных случаев (возможно, найти и пофиксить проблему vk_api.audio, может, найти другую рабочую версию). Использую последнюю версию vk_api - 11.8.0 .

Вот код:

import vk_api
from vk_api import audio

login=''
password =''

vk_session = vk_api.VkApi(login=login, password=password)
vk_session.auth()
vk = vk_session.get_api()
vk_audio = audio.VkAudio(vk_session)

# 20681945 - выгружает
# 16192 - выгружает
# 38647102 - нет
# 13559899 - нет

vk_audio.get(owner_id=13559899)

Ошибка:

TypeError Traceback (most recent call last)
<ipython-input-28-992f6dd1a603> in <module>()
15 # 13559899 - нет
16
---> 17 vk_audio.get(owner_id=13559899)

C:\Anaconda3\lib\site-packages\vk_api\audio.py in get(self, owner_id, album_id, access_hash)
139 """
140
--> 141 return list(self.get_iter(owner_id, album_id, access_hash))
142
143 def get_albums_iter(self, owner_id=None):

C:\Anaconda3\lib\site-packages\vk_api\audio.py in get_iter(self, owner_id, album_id, access_hash)
120 response.text,
121 self.user_id,
--> 122 filter_root_el={'class_': 'audioPlaylist__list'} if album_id else None
123 )
124

C:\Anaconda3\lib\site-packages\vk_api\audio.py in scrap_data(html, user_id, filter_root_el, convert_m3u8_links)
315 artist = audio.select_one('.ai_artist').text
316 title = audio.select_one('.ai_title').text
--> 317 duration = int(audio.select_one('.ai_dur')['data-dur'])
318 full_id = tuple(
319 int(i) for i in audio['data-id'].split('_')

TypeError: 'NoneType' object is not subscriptable
Отзывы
R50 464cf7a1b3c9aa640b250db3efb36119
Заказчик
Очень понравилось сотрудничество. Решение быстрое и элегантное. Всем рекомендую, классный специалист!
~ 4 года назад
R50 5374ab103904cd8521e95f189036d722
Фрилансер
хороший заказчик
предоставил тестовые данные
~ 4 года назад