def main(): fail_list = [] if os.path.exists(LOVE_PLAYLIST_FILE): with open(LOVE_PLAYLIST_FILE, encoding='utf-8') as lpf: love_playlist = json.load(lpf) else: api = NetEase() user = api.login(USERNAME, md5(PASSWORD).hexdigest()) print(user) user_id = user['account']['id'] prase = Parse() ps = prase.playlists(api.user_playlist(user_id)) love_playlist_id = [m for m in ps if m['playlist_name'] == f"{m['creator_name']}喜欢的音乐"][ 0]['playlist_id'] print(love_playlist_id) love_playlist = api.playlist_detail(love_playlist_id) with open(LOVE_PLAYLIST_FILE, mode='w', encoding='utf-8') as lpf: json.dump(love_playlist, lpf) for i, d in enumerate(love_playlist): try: search_and_download_music(d['name'], d['ar'][0]['name'], d['al']['name']) print(f'{i+1}/{len(love_playlist)} {d["name"]} 下载完成') except Exception as e: fail_list.append(d["name"]) print(f'{i+1}/{len(love_playlist)} {d["name"]} 下载失败!!!!:{e}') print('-' * 20, '下载失败的歌曲', '-' * 20) print(fail_list)