美文网首页
关于酷狗音乐api搜索歌手信息的问题

关于酷狗音乐api搜索歌手信息的问题

作者: javaLi | 来源:发表于2019-04-10 19:10 被阅读0次

    做音乐网站要实现展示歌手歌曲的功能,看了许多api,感觉就酷狗的简单,好用,这是原作者的方法,原文大概如下:
    酷狗MP3链接需要两个接口获取:
    hash获取接口: http://songsearch.kugou.com/song_search_v2
    MP3获取接口: http://www.kugou.com/yy/index.php
    1.获取hash的接口
    拿杰伦来说:
    http://songsearch.kugou.com/song_search_v2?callback=jQuery19107655316341116605_1497970603262&keyword=周杰伦&page=1&pagesize=1&userid=-1&clientver=&platform=WebFilter&tag=em&filter=2&iscorrection=1&privilege_filter=0;

      注释:
    
      callback=jQuery19107655316341116605_1497970603262 可以删掉,方便;
    
      keyword=%E5%91%A8%E6%9D%B0%E4%BC%A6  歌手或者歌曲名字,例如:keyword=周杰伦;
    
      clientver=&platform=WebFilter 必须存在不知道什么意思;
    
      page=1 页数;
      pagesize=1,每页显示一条数据,可自行定义。
      其余参数未测试或未发现实际意义自行测试,可有可无
    

    结果如下:


    在这里插入图片描述

    得到了json数据,然后我用jQuery的ajax请求数据,结果报错,错误如下:Uncaught ReferenceError: jQuery19107655316341116605_1497970603262 is not defined,大概意思是url参数回掉函数callback未定义,按照原作者的提示删掉callback,结果出现跨域问题。
    后来想了想,应该是要自定义callback函数,果然解决了问题,代码如下:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <script src="http://code.jquery.com/jquery-latest.js"></script>

    </head>
    <body style="margin-left:200px">
        <div style="text-align:center">
            <canvas id="c"></canvas>
        </div>
        <script>
            function showData(data){
                    console.log("测试成功!");
                    var result = JSON.stringify(data);
                    console.log(result);
                }
            $(document).ready(function(){
                
                var author="许嵩";
                var url="http://songsearch.kugou.com/song_search_v2?callback=showData&keyword="+author+"&page=1&pagesize=10&userid=-1&clientver=&platform=WebFilter&tag=em&filter=2&iscorrection=1&privilege_filter=0";
                
                $.ajax({
                  url:url,
                  type:"get",
                  dataType:'jsonp',
                  jsonp: "showData", //自定义回调函数
                  scriptCharset: 'GBK',//解决中文乱码
                });
            });
            
        </script>
    </body>
    

    </html>

    结果如下:


    在这里插入图片描述

    2.获取MP3链接的接口

      周杰伦的告白气球:http://www.kugou.com/yy/index.php?r=play/getdata&hash=3C3D93A5615FB42486CAB22024945264&album_id=1645030&_=1497972864535
    
    注释:  
    
      &hash=3C3D93A5615FB42486CAB22024945264  上面拿出来的hash;
    
      &album_id=1645030 上一步拿出来的AlbumID ;
    
      会返回json
    

    相关文章

      网友评论

          本文标题:关于酷狗音乐api搜索歌手信息的问题

          本文链接:https://www.haomeiwen.com/subject/ygwoiqtx.html