七夜在线音乐台开发 第二弹 (原创)

  上一篇我讲了一下七夜在线音乐平台的服务器与域名,也就是设施部分。今天我将大体上的设计思路,技术要点,和大家分享一下。

项目需求:我的目标是设计一个在线音乐平台,大家可以随时点播自己喜欢的歌曲,支持多样化检索,并且根据个人喜好,进行推荐。同时用户可以自定义歌单,支持收藏等功能。提供移动端API接口,可以供app开发使用。

项目框架:我将通过一张图的形式,展示整体的设计方案。(有点简略了,仅仅是给大家看一下,大牛勿喷)。

  整体框架基本上就是上图所示,接下来咱们根据图中的模块依次讲解所需要的技术要点。

UI界面模块,其实也就是咱们说的web前端开发,包括Html ,CSS,javaScript等技术,当然也是我最不喜欢做的一部分。

一个具有黑客情怀的人,只喜欢那黑黑的命令窗口。

  由于咱们要做的是音乐平台,需要在网页上播放音乐,所以web前端无法缺少网页播放器,咱们这次选择的是jplayer播放器,为什么选择他呢?因为jplayer的兼容性是最佳的,连在IE6上都可以运行,大赞。。。。。。总体说来,要做好在线音乐平台的前端,                   html+CSS+javaScript+jplayer这些都是要会的,是不是已经有人感到头大了。。。

  在之后的教程中,我会把这些都讲到的,大家放心。

  移动端咱们之后再说,会用到android和IOS。本人只是玩过android。

  接着说Web后台开发:

  这次搭建web后台,使用的编程语言:python,运行环境:python 2.7.X,操作系统:Debian x64。

  Web框架采用flask。采用flask有几点原因,1. 本人学过  2. 轻量级  3. 扩展插件丰富 4.容易为移动端提供api。

  大家肯定想说这个框架没学过,你写完我能看得懂嘛???

  当然 我会从零开始讲起如何使用flask 框架,然后一步一步的朝音乐平台搭建前进。但是前提你必须要有python基础,基础语法我是不会讲的,如果想学习python基础,百度一下廖雪峰教程。

再说一下数据库的事情,首先要明确一点歌曲本身是不能存在数据库的,因为数据太大,不方便提取,一般数据库存放的都是音乐的索引。这次使用的是mongodb数据库。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。为什么选择这个数据库呢? 1. 本人正在学习 2. 和python一起使用超强,我心中的最佳cp。 3.使用爬虫爬取数据时,存储起来最方便。

最后我要说一下音乐数据的问题:大家发现我没有把他加入框图中,我只是不想让大家把数据库中的数据和歌曲本身数据混淆了。首先说一下歌曲,我怎么获取?  上一篇我说过要使用网易的音乐源,但我不可能手动一首一首的下载,这样会累死,而且无法获取歌曲的详细信息。所以我要使用爬虫来下载歌曲和歌曲信息,并存储到数据库中。之前我写过一篇 爬取慕课网视频 的技术帖子,上面写了一个简单爬虫,大家可以学习一下。这次我使用成熟的爬虫框架 scrapy,方便扩展,方便开发。所以咱们还要讲解 scrapy框架。

说到这里,大家是不是感觉要疯了,我怎么要学这么多???要酷炫,就要付出。

  说一下之后的规划,既然是从零开发在线音乐平台,那咱们就从零开始讲解所需的技术。web前端,flask框架,mongodb,scrapy,每一个都需要我们来蒸熟。。。。

  今天的分享就到这里,如果大家觉得还可以呀,记得支持我。

欢迎大家支持我公众号:

时间: 2025-01-13 23:54:29

七夜在线音乐台开发 第二弹 (原创)的相关文章

七夜在线音乐台开发 第三弹 爬虫篇 (原创)

上一篇咱们讲到了七夜音乐台的需求和所需要的技术.咱们今天就讲一下爬虫,为什么要讲爬虫,因为音乐台的数据源需要通过爬虫来获取,不可能手动来下载.下图是一个网络爬虫的基本框架: 网络爬虫的基本工作流程如下:     1.首先选取一部分精心挑选的种子URL: 2.将这些URL放入待抓取URL队列:     3.从待抓取URL队列中取出待抓取在URL,解析DNS,并且得到主机的ip,并将URL对应的网页下载下来,存储进已下载网页库中.此外,将这些URL放进已抓取URL队列.     4.分析已抓取URL

Blazor 组件库 Blazui 开发第二弹【按钮组件】

传送门 Blazor 组件库 Blazui 开发第一弹[安装入门]https://www.cnblogs.com/wzxinchen/p/12096092.html Blazor 组件库 Blazui 开发第二弹[按钮组件]https://www.cnblogs.com/wzxinchen/p/12096956.html 常规用法 @page "/" <h1>Hello, world!</h1> Welcome to your new app. <BBut

Android 开发第二弹:通讯录

MainActivity.java package myapplication.nomasp.com.addressbook; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.ListView; public class MainActivity extends Activity

黑马程序员:赶紧下载iOS10开发教程第二弹

虽然6月13日WWDC2016的发布会结束了,但是本届大会的开发者session环节还在持续进行着.黑马程序员本着对技术的狂热,对学生负责的态度,仍然坚持每天对课程进行深入的研发.本文主要是黑马程序员对iOS 10 中SDK所更新的主要内容进行总结.根据黑马程序员惯例,在文章的最后,有相关相关教学视频及Demo会有分享链接,供各位下载! 1.Grand Center Dispatch GCD 在本次一更新主要有以下内容: ?创建私有队列 ?安排异步执行的工作项目(items) ?GCD能自动将工

Flex4/Flash+BlazeDS+JAVA+MySql 开发在线音乐播放器实例

要求 必备知识 本文要求基本了解 Adobe Flex编程知识和JAVA基础知识. 开发环境 MyEclipse10/Flash Builder4.6/Flash Player11及以上 演示地址 演示地址 传统网络程序的开发是基于页面的.服务器端数据传递的模式,把网络程序的表现层建立于HTML页面之上,而HTML是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的.全方位的体验要求了.而富互联网应用(Rich Internet Applications,缩写为RIA)的出现就

AJAX在线音乐网站(2)数据库和开发环境

  昨天主要描述了网站需求和功能结构,今天花了点时间,总结了下网站具体的数据库设计还有所用到的开发环境和工具.  如果对前面的总结有兴趣的朋友可以查看我上篇博客AJAX在线音乐网站(1)需求和功能结构 5.网站数据库设计(E-R图) 采用E-R图分析在线音乐网站数据关系.下面具体叙述在线音乐网站中主要的实体图及E-R图. 歌曲信息表实体图如图5.1所示:主要有歌曲ID.歌曲名.演唱者.专辑名.歌曲类型.下载次数.访问量.总访问量等基本属性. 图5.1 歌曲信息实体图 专辑信息表实体图如图5.2所

音乐网站开发,在线音乐网站建设,DJ音乐网站制作

本公司专业承接音乐网站开发,在线音乐网站建设,DJ音乐网站制作,手机音乐网站制作开发等服务,需要的朋友可以私聊,谢谢. 支持定制,电脑版,手机版,微信版,小程序版,APP版提供一站式服务:联系QQ:2 3 6 0 2 4 8666(私聊),微信:luenmicro 电话:181-2795-0266 原文地址:http://blog.51cto.com/14052561/2313778

专业定制DJ音乐网站,在线音乐播放网站源码开发建设

模仿qq音乐网站,虾米音乐网站,网易云音乐网站,酷我音乐网站,酷狗音乐网站开发定制等.承接dj音乐站搭建一条龙服务. 联系我时,请说是在64楼看到的,谢谢! 需要可以联系我的QQ:2360248-666  ,微信:luenmicro    电话:13112215717 原文地址:https://www.cnblogs.com/luchakeji/p/8413301.html

Andriod小项目——在线音乐播放器

Android在线音乐播放器 从大一开始就已经开始自学Java和Android了,到现在差不多有一年了. 终于到了开始做项目实战的阶段了.就先DIY个在线音乐播放器. 实现了以下功能: 这个播放器可以从本机电脑搭建的简易服务器里异步读取并解析json数据,播放音乐,实现音乐切换,时间显示,以及显示播放进度. 程序有三个界面,启动画面,音乐列表,播放器页面,可以通过音乐列表点击进入到播放界面. 这篇文章只大概写了一下实现的思路,描述了一些关键的地方. 文章最后还提供了源代码,可以在文章结尾处  下