• 大小: 2KB
    文件类型: .zip
    金币: 2
    下载: 2 次
    发布日期: 2021-10-29
  • 语言: Python
  • 标签:

资源简介

导出qq音乐歌单的小工具,导出格式为.kwl,可以把.kwl导入到网易云、酷我里面去

资源截图

代码片段和文件信息

from bs4 import BeautifulSoup
import requests

# 歌单id 需要替换成你自己的
LIST_ID = “2330669376“


def getQQMusicList(url):
    ‘‘‘
    获取qq音乐歌单列表信息
    :param url: 歌单网址
    :return: 歌单信息list [(歌名 歌手 专辑) ...]
    ‘‘‘
    html = requests.get(url)
    # print(html.text)
    soup = BeautifulSoup(html.text “html5lib“)
    # print(soup.select(“ul.songlist__list li“ limit=2))
    lists = soup.select(“ul.songlist__list li“)
    ret = []
    for item in lists:
        ret.append((item.select_one(“.songlist__songname_txt a“).text item.select_one(“.songlist__artist a“).text
                    item.select_one(“.songlist__album a“).text))
        # print(item.select_one(“.songlist__songname_txt a“).text)
        # print(item.select_one(“.songlist__artist a“).text)
        # print(item.select_one(“.songlist__album a“).text)
    return ret


def list2kwl(list):
    ‘‘‘

    :param list:歌单信息[(歌名 歌手 专辑) ...]
    :return:返回kwl格式文本转换文件需要 gb2312 编码!!!
    ‘‘‘
    kwl = ‘‘
    for item in list:
        kwl += ‘    \r\n‘ % (item[0] item[1] item[2])
    kwl = ‘\r\n%s‘ % kwl
    return kwl


# arr是被分割的list,n是每个chunk中含n元素。
def chunks(arr n):
    return [arr[i:i + n] for i in range(0 len(arr) n)]


l = getQQMusicList(“https://y.qq.com/n/yqq/playlist/“ + LIST_ID + “.html“)
partLists = chunks(l 100)
# k = list2kwl(l)

for i in range(0 len(partLists) 1):
    k = list2kwl(partLists[i])
    with open(‘{0}.kwl‘.format(i) ‘w‘ encoding=‘gb2312‘ errors=‘ignore‘) as f:
        f.write(k)

print(“成功导出“ len(l) “首歌曲“)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-06-11 09:54  qq-music-list-to-kwl-master\
     文件        1733  2019-06-11 09:54  qq-music-list-to-kwl-master\qq-music-list-export.py
     文件         515  2019-06-11 09:54  qq-music-list-to-kwl-master\readme.md

评论

共有 条评论