예제 #1
0
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)