zoukankan      html  css  js  c++  java
  • python爬取酷狗音乐

    新的一年开始了,过年的时候用酷狗搜索了一些歌单,有一个歌单里的歌特别好听,想下载到MP3里听听,这样也就不用联网了。写个爬虫吧。

    1、打开电脑上的酷狗,找到相应的歌单点击分享

    2、选择分享到微博

    3、分享的时候会显示一个链接

    4、好了,有了这个链接就好办了,直接上代码

    import requests
    import re
    import time
    
    #存放地址
    filepath = u"f:\日文歌\"
    
    #链接地址
    url = "http://www.kugou.com/share/7avnC6auGV2.html?id=7avnC6auGV2#hash=6708E2C5707DC29CF13828542C6142A2&album_id=1764069"
    
    header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36'}
    
    def downmusic(hashstr,musicname):
        musicurl = 'https://wwwapi.kugou.com/yy/index.php?r=play/getdata&hash='+hashstr
        json = requests.get(musicurl,headers=header).text
        playurls = re.findall(r'play_url":"(.*?)"',json,re.S)
        playurl = playurls[0].replace("\","")
        if playurl!="":
            r = requests.get(playurl)
            with open(filepath+musicname+".mp3", "wb") as fp:
                fp.write(r.content)
                print(musicname+" 已下载!!!")
    
    if __name__ == '__main__':
         html = requests.get(url,headers=header)
         htmlstr = html.content
         htmlstr = htmlstr.decode("unicode-escape", errors='ignore')
         jsons = re.findall(r'var dataFromSmarty(.*?)]',htmlstr,re.S)
         if len(jsons)==1:
            musics = re.findall(r'{"hash":"(.*?)".*?"audio_name":"(.*?)",.*?}',jsons[0],re.S)
            for music in musics:
           #每次休息5秒 time.sleep(5) downmusic(music[0],music[1]) print(" 下载结束!!!")

      

     但是每次启动的时候都会显示,但是下载一样可以下载,感觉是编码问题,哪位大神会的帮忙看一下。。。

    DeprecationWarning: invalid escape sequence 'd'
      htmlstr = htmlstr.decode("unicode-escape", errors='ignore')

    pip install pypiwin32

    https://download.microsoft.com/download/5/f/7/5f7acaeb-8363-451f-9425-68a90f98b238/visualcppbuildtools_full.exe

  • 相关阅读:
    Go 1.16新特性embed包及其使用
    PHP汉字转拼音的方法
    git diff ^M的消除
    转 C/C++中extern关键字详解
    idea安装步骤_IntelliJ IDEA 2019.3安装激活教程
    intellij idea 的全局搜索快捷键方法
    多边形面积计算及顶点顺逆时针方向判断
    凸多边形碰撞检测的分离轴算法(SAT)
    使用PCA方法创建OBB(oriented boundingbox)包围盒
    2021/12/08今日旧闻
  • 原文地址:https://www.cnblogs.com/youyuan1980/p/10444790.html
Copyright © 2011-2022 走看看