zoukankan      html  css  js  c++  java
  • 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.软件优化:做成软件,增加前端界面,输入连接就可以下载
  • 相关阅读:
    TCP通过哪些措施,保证传输可靠
    http协议---简述
    单播、广播、组播、多播
    axios 设置超时时间 timeout
    axios 处理并发请求
    vue 模板语法
    vue keep-alive
    v-if 条件渲染分组
    debounce 防抖动函数
    vue scoped 深度作用选择器
  • 原文地址:https://www.cnblogs.com/lvhanzhi/p/10721360.html
Copyright © 2011-2022 走看看