django建立个人网站(4音乐搜索模块)

因为版权听歌变得麻烦起来,所以直接一次性搜索4个平台(QQ,网易,酷狗,酷我)的音乐。(有些歌四个平台都无版权,只好在YouTube上听了)

源码作者禁止转载,这是他的链接: 网址链接

至于功能如何实现的,他的视频讲的很清楚了。

不过他的源码中,酷狗音乐和酷我音乐的功能已经不能使用了。我进行了修改。

修改后可使用代码:代码下载  其中网易云音乐调用js文件放到代码同目录下即可。

我测试了下,开启多线程和不开的时间都差不多。所以没开。

同样前端HTML:

<div id="music" class="white_content">
<a style="float: left" href="javascript:void(0)"
          onclick="document.getElementById('music').style.display='none';document.getElementById('fade').style.display='none'">点这里关闭本窗口</a>

       <input style="float: left" type="text" id="mcontent" name="搜索内容">
       <button style="float: left" type="button" id="mcommit_btn" value="搜索">搜索</button>
               <p style="margin: 0px 10px;"> -----爬虫大约运行20-30s,请耐心等待。切勿重复提交。-----</p>
       <div id="music_player" class="player">
       </div>
       <table id="mtset" style="font-size:14px ; float: left" border="2px">
           <thead>
           <tr>
               <th>音乐源</th>
               <th>歌曲名称</th>
               <th>歌手名称</th>
               <th>试听链接(打开即可下载)</th>
           </tr>
           </thead>
           <tbody>
           </tbody>
       </table>
   </div>

jQuery:

$("#mcommit_btn").click(function () {
    $("#mtset tbody").html("");
    $.ajax({
            url: 'music',
            type: 'post',
            data: {content: $('#mcontent').val()},
            //headers:{"X-CSRFToken":$.cookie("csrftoken")},
            success: function (data) {
                console.log(data);
                for (var i = 0; i < data.length; i++) {
                    var bu = 'commit_btn' + i;
                    str = "<tr><td>" + data[i][0] + "</td><td>" + data[i][1] + "</td><td>" + data[i][2] + "</td><td> <audio controls><source src='" + data[i][3] + "' type='audio/mpeg'> </audio></td>></tr>";
                    $("#mtset").append(str);
                }

            },
            error: function (data) {
                alert(data.status)
            }
        }
    )
});

views.py:爬音乐的代码太长了,直接复制进views里即可,这里只写返回前端的代码。

def music(request):
    text = request.POST.get("content")
    name = text
    table = start(name) (调用音乐程序)
    return JsonResponse(list(table), json_dumps_params={'ensure_ascii': False}, safe=False)

还有一点,爬取后要将数据中所有空格删除,否则返回前端会导致链接失效。

.replace(' ', '')

 

urls.py:

path('music', views.music, name='music'),

现在即可在网页上搜索音乐,可以试听,也可下载。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值