python爬取全名k歌

python3 爬取全名k歌

代码:

import re
import requests
import ssl
ssl._create_default_https_context=ssl._create_unverified_context
k=0
if __name__ == '__main__':
    url = 'https://kg.qq.com/node/personal?uid=649c9583262436'
    params={
        'uid':'649c9583262436'
    }
    headers={
        'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
    }
    response=requests.get(url=url,headers=headers,params=params)
    p='<a href="(https://node.kg.qq.com/play?.+?g_f=personal)"'
    new_url=re.findall(p,response.text)
    new_url = set(new_url)
    new_url = list(new_url)
    print(new_url)
    for i in new_url:
        new_p = '"playurl":"(http:.+?sdtfrom=v1506.+?)"'
        response2 = requests.get(url=i, headers=headers)
        music_url=re.findall(new_p, response2.text)[0]
        print(music_url)
        if music_url:
            music_url=music_url
            response3=requests.get(url=music_url,headers=headers)
            with open('%s.m4a'%k,'wb')as f:
                f.write(response3.content)
            k+=1

效果图:

关于优化:

1.歌曲名字优化:用正则匹配歌曲名,并赋给歌曲

2.速度优化:开启多线程,实现并发,提高效率

3.查看更多优化:获取查更多的连接,下载剩下的歌曲

4.软件优化:做成软件,增加前端界面,输入连接就可以下载
原文地址:https://www.cnblogs.com/lvhanzhi/p/10721360.html