(附源码)python音乐电台推荐系统的设计与实现 毕业设计 301210

音乐电台推荐系统

摘 要

随着人类向信息社会的不断迈进,风起云涌的信息时代正掀起一次新的革命,同时计算机网络技术高速发展,网络管理运用也变得越来越广泛。因此,建立一个B/S结构的音乐电台推荐系统来管理音乐电台信息,会使管理工作系统化、规范化,提高管理效率。

本课题的研究对象是音乐电台推荐系统,该系统实现了首页、站点管理(轮播图、公告栏)用户管理(管理员)内容管理(文章、文章类型)更多管理(个性推荐、音乐类别、热门歌单、排行榜、歌手、用户注册)等功能。本系统在设计上,考虑到系统内容以及系统的受众群体,在系统的美工方面采用了比较正规的设计,同时也提供了友好的页面以及简单的操作,系统采用Python语言、Django框架、MVC模式、MySQL数据库,这样的组合不但利用上了在大学中所学到的知识,并且能够使系统真正的发布到互联网上,而不是一个单纯的音乐系统。

本系统经过测试,运行效果稳定,操作方便、快捷。在具体的应用过程中,有可能会出现一些问题,今后还会对本系统不断地进行完善、更新,使其功能更强大,应用更广泛。

关键词:B/S结构;音乐推荐;Python语言;互联网

Music radio recommendation system

Abstract

With the continuous progress of mankind towards the information society, the surging information age is setting off a new revolution. At the same time, with the rapid development of computer network technology, the application of network management has become more and more widely. Therefore, establishing a music station recommendation system with B / S structure to manage music station information will systematize and standardize the management and improve the management efficiency.

The research object of this subject is the music radio recommendation system, which realizes the functions of home page, site management (rotation chart, bulletin board), user management (administrator), content management (article, article type) and more management (personalized recommendation, music category, popular song list, ranking list, singer, user registration). In the design of the system, considering the system content and the audience of the system, the system adopts a more formal design in the art of the system, and also provides friendly pages and simple operation. The system adopts Python language, Django framework, MVC mode and MySQL database. This combination not only makes use of the knowledge learned in the University, And can make the system really released to the Internet, rather than a simple music system.

After testing, the system has stable operation effect and convenient and fast operation. In the specific application process, there may be some problems. In the future, the system will be continuously improved and updated to make it more powerful and widely used.

Key Words:Keywords: B / S structure; Music recommendation; Python language; internet

目  录

 

Abstract

  

1 绪论

1.1开发背景与意义

1.2开发现状

1.3论文结构

2 主要技术和工具介绍 4

2.1 Django框架 4

2.2 MySQL 数据库 4

2.3 B/S结构 4

2.4 Pycharm开发工具 5

2.5 Tomcat服务器概述 5

3 系统分析 6

3.1可行性分析 6

3.1.1经济可行性 6

3.1.2技术可行性 6

3.1.3操作可行性 6

3.2需求分析 6

3.3业务流程分析 7

3.4数据流程分析 8

4 系统设计 10

4.1开发环境 10

4.2系统结构设计 10

4.3主要功能模块设计 11

4.4数据库设计 12

4.4.1数据库设计概述 12

4.4.2概念设计 12

4.4.3表设计 13

5  系统实现 27

5.1登录模块的实现 27

5.2用户子系统模块的实现 28

5.2.1用户首页的实现 28

5.2.2注册模块的实现 28

5.2.3新闻模块的实现 30

5.2.4个性推荐模块的实现 30

5.3管理员子系统模块的实现 31

5.3.1用户管理模块的实现 31

5.3.2最新音乐模块的实现 31

5.3.3热门歌单模块的实现 32

6  系统测试 34

6.1软件测试 34

6.2功能测试 34

6.3测试结果 36

7  总结 37

   38

参考文献 39

第1章 绪论

1.1开发背景与意义

21世纪是经济与科学飞速发展的时代,人民生活质量有了很大的提升,为了降低人员工作强度,减少资源浪费,合理利用时间资源,空间资源,已经成为现代公司运营中所必须考虑的事情,这样才能使得公司走的更远,发展的更好,音乐电台推荐管理工作,涉及到的庞大的信息数据,使用人工处理,不仅速度跟不上,而且还容易造成误差,办事效率低,公司消息沟通不顺畅,不便于信息统计以及分析数据从而损伤公司的利益。

为了解决这些传统时代囤积的弊端,高效,准确的实现工作目标,大幅度提供工作环境以及工作质量,为用户以提供一个良好的音乐平台。结合当下社会经济详情,开发一款属于音乐电台推荐系统已经成为一种必然的趋势。不但可以提供工作的质量,还可以提高办事效率,无论从哪一方面讲都是有益的。便于统计和查询,高效的分析出音乐电台的发展方向是否正确。使得工作更加的容易起来。提高了工作中的人与人人与机器之间的公开性,交互性。

由此看来,我们开发一款音乐电台推荐系统是很明智的,将工作从繁重处理成简约化,智能化,从复杂的数据信息走向清晰化工作的道路,未来的管理都是走向智能化,科技化的道路。拼的的效率,是质量,更讲究人性化管理与智能化相结合,这样发展才能走的越来越远。21世纪是拼科技拼创新的时代。

上个世纪末期,网络技术逐渐开始流行起来,互联网发展进入了起步阶段。到了新世纪初期,信息化技术开始逐渐发展,计算机应用技术逐渐体现出优势来。接着,大量的电脑进入了千家万户,企事业单位、高校、机关等部门。信息化时代逐渐来临,音乐管理成为互联网时代下媒体管理的核心内容。音乐是生活中非常重要的一部分,然而由于其性质也致使它难以被实时衡量。长期来看,管理十分不便利,存在误差,查询难的现象,一旦数据过多,人工管理方式就很难维持。随着信息技术的应用拓展,逐渐引用了信息化技术管理,逐渐取代了人工管理模式,采用计算机系统来管理音乐电台信息,带来的好处是查询便利,信息准确率高,节省了开资,提高了工作的效率。本次系统开发,主要以音乐电台管理为对象,根据需求来完成功能设计。

鉴于早期的音乐电台没有系统的管理以及现代化的工具,因此在音乐电台的过程经常出现问题,最终的结果就是实际效率低下,在音乐电台工作中费时费力而且达不到预期的目标。因为没有音乐电台推荐系统的支持,对音乐电台推荐的过程中,总会出现一些条件、内容不一致的问题。由于音乐电台的信息资料比较多,数据处理操作慢、效率低,而且随着单位不断的增多,参与处理得音乐电台相关的数据量也是越来越多,因此在这样的条件下,传统的管理的模式,必然无法满足各个媒体的管理要求,所以建立一套完整的符合现代管理思想的,高效的音乐电台推荐系统就显得尤为重要。音乐电台推荐系统是通过计算机的高速性将整个系统都涵盖其中,将音乐电台推荐过程都通过计算机进行无纸化操作。这样的工作高效而且成本较低,在最大限度上达到了节省人力的目的。

设备问题在中国的发展可以说一直是比较被轻视的,其原因是我国大部分对于利润的理解单单停留在现金的流入或者资本的增加方面,而对媒体的一些隐性收入和隐性支出没有加以重视,这就导致派出所在进行相关决策的时候接纳的数据往往是不真实的,这种误差很有可能导致媒体的现金流的断裂从而影响媒体的生生活。在这样的背景下设备管理问题可以说越来越受到国家的关注,其目的是通过相关政策的扶植,来扶植中国制造更好的发展,通过这样的形式来提升中国媒体的竞争力。设备管理问题所涵盖的知识较多,建立完善的设备管理系统有利于节约成本,从而为媒体创造更多的利润。同时当前时代我们都明白“现金为王”的意义,可以说资金链对媒体来说就是生命链,容不得任何差错。相关公司的设备中往往有价值成百上千万的,这些设备一旦出现问题需要维护或者更换对于媒体来说资金压力非常巨大。由此我们可以充分的认识到建立完善的现代化设备管理系统的重要性我国的设备管理系统的建设依然处于初级阶段,存在着实用性低,成本高等特点,如何构建符合大多数现代化公司要求,实用性高,切合度高,成本低的设备管理系统就成为接下来相关人员的工作重点。

1.2开发现状

在当下社会,人们越来越注重网络的发展,自动化管理技术和信息化管理技术逐渐被人们所使用。在以往的手工管理模式中已经越来越能体现出问题和不足,如管理效率低下,信息处理速度慢,劳动强度大,信息的准确率低。因此如何改变这一现状,从根本上帮助实验室提升他们在设备方面的效率,真正的解放劳动力,相关信息处理过程中的正确率以及速度就成为关键。由此可见,开发音乐电台推荐系统是非常具有实际意义的。现代经济发展速度非常快,市场更是变化无常,可以说当前实验室在这种条件下生存就不得不面临诸多威胁,同时也必须做到相关系统的完善和升级。那么实验室的设备管理,就需要一个可靠的系统管理软件来管理设备以及对员工使用的安排管理,因此开发出一个优秀并且可靠的系统就十分必要了。

随着公司的业务发展,公司客户数量快速增加,技服人员工作压力和工作强度越来越大,为了减轻技报人员的工作压力,更好的为客户服务,特编制该业务系统程序。

由于众多公司的产品是有使用期限的,所以产生了编写这个程序的想法,这是一个方便公司对其客户使用情况进行方便查询的程序。随着需求的不断完善,又提出一个主要问题,使技服人员很困惑。别外,对软件的具体使用时出现的问题和解决方法,以及模块的变更情况,都要进行登记。于是便得到了现在本系统的需求。该程序是针对软件及产品的售出后出现质量故障进行售后服务工作而设定的,可以大大提高技术人员的售后服务效率和工作效率,从而使公司在不增加人力的前提下,扩大用户量,使公司对售后的工作实现信息化的管理。

1.3论文结构

第一章是论文的绪论部分,主要介绍了课题的研究背景以及研究目的和意义。

第二章研究了音乐电台推荐系统的所采用的开发技术和开发工具。

第三章研究了音乐电台推荐系统的需求分析,根据系统的特点,分析系统采用的体系结构及开发方法,以及该系统的运行环境,并分析了业务流程,绘制了业务流程以及数据流程。

第四章是对系统的详细设计进行说明。

第五章是系统的具体实现,介绍系统的各个模块的具体实现。

第六章在前几章的基础上对系统进行测试和运行。

最后对系统进行了认真的总结,以此对未来有一个新的展望。

第2章 主要技术和工具介绍

2.1 Django框架

Django是一个由Python编写的具有完整架站能力的开源Web框架。使用Django,只要很少的代码,Python的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的Web服务。

Django本身基于MVC模型,即Model(模型)+View(视图)+ Controller(控制器)设计模式,因此天然具有MVC的出色基因:开发快捷、部署方便、可重用性高、维护成本低等。Python加Django是快速开发、设计、部署网站的最佳组合。

Django具有以下特点:

能完善、要素齐全:该有的、可以没有的都有,常用的、不常用的工具都用。Django提供了大量的特性和工具,无须你自己定义、组合、增删及修改。

完善的文档:经过十多年的发展和完善,Django有广泛的实践经验和完善的在线文档(可惜大多数为英文)。开发者遇到问题时可以搜索在线文档寻求解决方案。

强大的数据库访问组件:Django的Model层自带数据库ORM组件,使得开发者无须学习其他数据库访问技术(SQL、pyMySQL、SQLALchemy等)。

灵活的URL映射:Django使用正则表达式管理URL映射,灵活性高。

丰富的Template模板语言:类似jinjia模板语言,不但原生功能丰富,还可以自定义模板标签。

2.2 MySQL 数据库

MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。因为其自身的功能相当强大,目前已成为最为流行的数据库软件之一。

MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

2.3 B/S结构

系统计划采用BS模式,是因为比传统的C/S结构具有明显的优越性。B/S模式也就是浏览器/服务器模式,它的界面部分是在浏览器端展示,而主要工作是由服务器端进行实现的,用户的请求由浏览器端提交给服务器端进行处理,而服务器将处理结果反馈给浏览器端,在浏览器端界面描画给用户查看。采用B/S模式不仅可以避免用户必须安装专业软件才能开发系统或者访问系统的局限性,而且更加便利。

2.4 Pycharm开发工具

Pycharm是目前最便于Python编程的开发环境之一,流行于各种平台应用程序的Python集成开发环境。该开发环境不仅可以完成基本的应用软件的开发,同样的可以集成相当多的插件进行应用开发的辅助。软件虽然本身个头小,但是由于拥有众多的功能插件,使其具有结构上短小精悍,功能上全面强大的特色。在开发的过程中,对硬件的要求不高,使得人人只要具备一台一般性能的电脑,都可以进行开发,人人都可以是软件的创造者。

没有完美的开发工具,插件化是Pycharm的优点,同样也是其缺点。开发的过程中如果需要添加协助开发的功能,需要对插件进行寻找与安装,当然Pycharm本身是支持在线安装插件的,但是由于主要的插件都是国外开发人员创造的,使得我们安装插件时,需要访问境外的服务器,那么这也是在线安装插件往往速度慢,经常失败的原因,我们也可以使用阿里,淘宝等的镜像,但是操作难度肯定是比集成化要高。我们也可以进行本地安装,这就需要插件的相关压缩文件,对Pycharm安装文件进行修改对于初学者来说一定的难度。

2.5 Tomcat服务器概述

Tomcat 是Apache 开发的Web应用服务器[13]。因为其技术先进,性能稳定,重要是免费等原因,在Python开发中深受欢迎,当然也得到很多软件开发商的认可。

Tomcat是轻量级的Web服务器,免费,开源,在很多中小型,并发访问用户不是很多的情况下被人们普遍使用,那么在国内那么受欢迎,个人觉得可能更多的还是免费的原因。通过在本地的计算机上安装Tomcat,就可以将本地计算机建立成一个小型的服务器,就可以通过http请求对本地服务器上的项目进行访问[14]。Tomcat是servlet的容器,很多人都说,要想学好Web开发,必须学好servlet,因为服务器能够让用户交互式地浏览和修改数据,帮助生成动态Web内容,都归功于servlet。

第3章 系统分析

3.1可行性分析

分析用户需求和数据需求,得到一个方案,然后设定系统的开发方案,为每个功能模块设计出物理设计方案,开发本系统的是否可行?本文从技术上、操作上和经济上对本系统的开发进行可行性分析。

3.1.1经济可行性

音乐电台推荐系统属于一个工具型的系统,它可以节省工作人员大量数据收集、方便快捷,能够极大地提高工作效率,最大限度的降低管理员的工作量,使管理尽量简便,同时促进音乐管理的信息化、现代化,及时提供必要的信息统计。因为整个系统采用Tomcat+MySQL+Python组合,这几个软件都是免费开源的,系统开发所需的费用是比较低的,由于系统并不复杂,其运行与培训费用也不会占用很多资金,可以预见系统完成后可以带来较大的经济效益。

3.1.2技术可行性

本系统采用Windows10作为操作平台。数据库开发平台选用MySQL,该数据库管理系统在Windows7和Windows8/10上都能运行,并提供数据库之间的数据复制功能,可代替现有系统单据数据的手工传递工作,。本系统的应用软件开发平台选用Pycharm

3.1.3操作可行性

本系统使用的是现流行的开发语言,即Django技术。同时所有的信息都是以网页的形式展示,系统中的信息都可以在后台操作数据库达到数据更新的效果。用户只需要会计算机的基本操作或者会上网就可以使用本系统。系统布局较简单,功能操作不复杂,完全符合现代市场需求。

3.2需求分析

针对现存的问题和需要,通过功能需求的分析,特建立了数字化、信息化的音乐电台推荐系统。

本系统主要包含了首页、站点管理(轮播图、公告栏)用户管理(管理员)内容管理(文章、文章类型)更多管理(个性推荐、音乐类别、热门歌单、排行榜、歌手、用户注册)。下面分别简单阐述一下这几个功能模块需求。

表3-1功能需求表

编号

功能名称

功能描述

用户登录

保证用户通过身份验证进入系统进行操作

用户注册

没有账号并想使用系统的用户可以使用用户注册,检测用户的注册内容,信息通过检测之后成为本系统的用户

站内搜索

用户可以通过各种各样的关键字模糊搜索站内信息

在线留言

普通用户登录系统前台可以添加在线留言

评论添加

普通用户选择要评论的信息进行添加评论

评论管理

管理员对用户的评论信息进行管理,包括删除、修改

添加收藏

普通用户可以选择信息添加收藏

收藏管理

个人用户可以对自己的收藏记录进行管理包括删除、修改

修改个人信息

用户可以根据自己当前的情况修改个人的信息

后台登录

仅管理员能够登录后台

添加音乐信息

管理员添加音乐信息

编辑音乐信息

管理员修改音乐信息

删除音乐影信息

管理员删除音乐信息

添加资讯信息

管理员添加资讯信息

编辑资讯信息

管理员修改资讯信息

删除资讯信息

管理员删除资讯信息

3.3业务流程分析

经过对系统功能的分析,调查,研究,总结出音乐电台推荐系统主要实现的是对留言信息、用户信息等管理功能。这样,可以对该系统绘制业务流程图。

系统的业务流程如下图所示。

 

图3-2系统业务流程图

3.4数据流程分析

根据上文所述的业务流程特点,首先对各个方面总的数据处理环节和外部实体进行了描述, 根据自顶向下原则,逐层分解功能,这个过程产生DFD图。

零层数据流程是流程中最抽象的一层,它包括了注册与登录管理、用户功能管理和检索维护管理等功能模块,在登录注册模块使用到的数据存储有用户账户信息文档、用户信息文档,用户功能管理模块需要的存储是用户动态信息文档、留言信息文档、音乐信息文档,检索维护是通过以上这些文档信息通过关键词进行搜索。

系统的0层数据流图如下图所示。

 

图3-4系统数据流图(0层)

一层数据流程图是对零层数据流程图的细化,将登录与注册细分为填制登录注册信息和完善信息,用户功能管理细分为用户基本功能管理和用户特色功能管理。

系统的1层数据流图如下图所示。

 

图3-5系统数据流图(1层)

二层数据流程是对一层数据流层图中填写登录注册信息、用户基本功能和用户特色功能的细化。即:填写登录注册信息细化为填制信息、后台审核,用户基本功能细化为收藏操作、留言操作操作,用户特色功能细化为音乐浏览、音乐资讯浏览、音乐点评、收藏音乐、收藏夹管理。

第4章 系统设计

4.1开发环境

  1. 软件体系结构方案:采用B/S模式,B/S代表的是服务器端由Web服务器发放,客户端由浏览器接收的系统,它的前台是Html语言,由浏览器解释。B/S结构可以由Web服务器能够解释的脚本语言如Django。
  2. 操作系统方案:Windows10(旗舰版)操作系统,该系统可以兼容需要的软件,并且具有良好的运行速度,界面良好。
  3. 后台数据库:选用MySQL。MySQL旨在通过数据库加密、更加安全的默认设置、加强的密码政策和细化许可控制、及加强的安全模型等特性,为企业数据提供最高级别的安全性。
  4. 开发工具:前台网页使用Dreamweaver工具,后台逻辑选用Pycharm。
  5. 开发语言:Python语言。
  6. 开发技术:Django+MVC +Html+CSS+JS技术

4.2系统结构设计

本系统使用的角色主要有系统管理员、普通用户,本系统分为系统前台和系统后台,首先在系统前台,游客用户可以经过账号注册,管理员审核通过后,用账号密码登录系统前台,进行首页、公告栏、新闻、最新音乐、个性推荐、热门歌单、排行榜、歌手,在前台用户可以通过标题和类别进行前台信息的搜索,普通用户可以登录个人中心进行个人资料管等功能。

后台主要由管理员使用,以管理员的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用首页、站点管理(轮播图、公告栏)用户管理(管理员)内容管理(文章、文章类型)更多管理(个性推荐、音乐类别、热门歌单、排行榜、歌手、用户注册)等功能操作。同时管理员可以通过关键字搜索可以搜索相应的信息。

系统的功能结构图如下图所示。

 

图4-1系统功能结构图

4.3主要功能模块设计

  1. 用户管理模块

该模块包括普通用户管理和系统用户管理,系统用户主要是普通管理员,对用户信息进行管理,只有普通用户才可在该系统上进行相应的操作。用户对个人信息可进行修改;管理员可对自己的个人信息进行维护,同时可对用户的密码信息进行修改,也可删除系统中的用户

  1. 登录模块

根据用户输入的 Id 和密码到数据库中查找该用户,如果未能找到该用户则做出 提醒“用户名或密码错误”,如果找到该用户,则要判断用户的类别然后根据用户类别进入相应的页面。

  1. 注册模块

当新用户第一次登陆时,要求注册账号。在登陆页点击注册后进入用户注册界面,新用户需要填写本人的手机号、用户名、设置登录密码,之后单击注册,则完成了初步信息的填写

  1. 音乐类别管理模块

(1)音乐添加:必须填写音乐名称、音乐类型、海报、歌手、主演、音乐编号必须是唯一的, 提交后判断某一项是否为填写, 如果是则做出提醒, 填写符合规则后方可添加到数据库。

(2)音乐查询:可以根据音乐编号等信息对音乐进行查询,查询结果可能有多个。

(4)音乐删除:首先找到要删除的音乐(一个或多个),然后删除即可。

  1. 个性推荐管理模块

(1)个性音乐添加:必须填写歌手、上市时间、歌名、封面、歌曲音乐类型、歌词,各项都不能为空。

(2)个性音乐查询:该功能能够显示个性音乐的基本信息,可以根据歌手等信息对音乐做出查询。

(4)个性音乐删除:首先找到要删除的音乐(一个或多个),然后删除即可。

6.评论信息管理模块

评论模块分为用户评论和管理员管理评论信息,用户登录系统后,选择想要评论的音乐,添加评论,管理员查询该评论信息,并有权对其管理,包括删除。

4.4数据库设计

4.4.1数据库设计概述

为了实现系统的功能设计,就要有相应的数据库表设计。根据系统的功能设计要求为各个数据库表设计字段、数据类型、是否为空等的相关信息。在实际调研和需求分析的基础上,对该系统设计数据库。再有系统的需求分析可以看出,本系统有两个角色:普通用户和管理员,他们分别在系统的运行和使用中起着不同的作用。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。数据库中表的设计主要考虑两个方面:一是整个管理系统的所有表中的数据要共享性高、冗余度小、占用最可能小的存储空间。

4.4.2概念设计

概念设计是整个数据库设计的关键,在概念设计阶段,由需求分析得到了E-R模型。E-R图是识别功能模型与数据模型间关联关系的,在主题数据库的抽取和规范化的过程中,采用的是简化的E-R图表示方法,从而避免过繁过细的E-R图表示影响规划的直观和可用性。是对现实世界的抽象和概括,是数据库设计人员进行数据可设计的有力工具,能够方便直接地表达应用中的各种语义知识,令一方面它简单、清晰、易于用户理解。

系统总体ER图如下图所示。

 

图4-10系统总体ER图

4.4.3表设计

概念模型是独立于任何一种数据模型的信息结构。将概念模型转换成逻辑模型,转换的一般原则如下:

(1)一个实体性转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。

(2)一个1:1联系可以转化为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

(3)一个1:n联系可以转化为一个独立的关系模式,也可以与n端对应的关系模式合并。

(4)一个m:n联系转化为一个关系模式。

本系统设计如下多个表。

auth表:

auth_id

int

11

主键

授权ID

user_group

varchar

64

用户组

mod_name

varchar

64

模块名

table_name

varchar

64

表名

page_title

varchar

255

页面标题

path

varchar

255

路由路径

position

varchar

32

位置

mode

varchar

32

跳转方式

add

tinyint

1

是否可增加

del

tinyint

1

是否可删除

set

tinyint

1

是否可修改

get

tinyint

1

是否可查看

field_add

varchar

255

添加字段

field_set

varchar

255

修改字段

field_get

varchar

255

查询字段

table_nav_name

varchar

255

跨表导航名称

table_nav

varchar

255

跨表导航

option

text

0

配置

create_time

timestamp

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

collect表:

collect_id

int

10

主键

收藏ID

user_id

int

10

收藏人ID

source_table

varchar

255

来源表

source_field

varchar

255

来源字段

source_id

int

10

来源ID

title

varchar

255

标题

img

varchar

255

封面

create_time

timestamp

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

comment表:

comment_id

int

11

主键

评论ID

user_id

int

11

评论人ID

reply_to_id

int

11

回复评论ID空为

content

longtext

0

内容

nickname

varchar

255

昵称

avatar

varchar

255

头像地址

create_time

timestamp

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

source_table

varchar

255

来源表

source_field

varchar

255

来源字段

source_id

int

10

来源ID

forum表:

forum_id

mediumint

8

主键

论坛id

display

smallint

5

排序

user_id

mediumint

8

用户ID

nickname

varchar

16

昵称

praise_len

int

10

点赞数

hits

int

10

访问数

title

varchar

125

标题

keywords

varchar

125

关键词

description

varchar

255

描述

url

varchar

255

来源地址

tag

varchar

255

标签

img

text

0

封面图

content

longtext

0

正文

create_time

timestamp

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

avatar

varchar

255

发帖人头像

type

varchar

64

论坛分类

'

forum_type表:

type_id

smallint

5

主键

分类ID

name

varchar

16

分类名称

description

varchar

255

描述

url

varchar

255

外链地址

father_id

smallint

5

上级分类ID

icon

varchar

255

分类图标

create_time

timestamp

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

hit_list表:

hit_list_id

int

11

主键

热门歌单ID

song_single_name

varchar

64

歌单名

music_type

varchar

64

音乐类型

brief_introduction

text

0

简介

song

varchar

255

歌曲

cover

varchar

255

封面

lyric

longtext

0

歌词

singer

varchar

64

歌手

hits

int

11

点击数

praise_len

int

11

点赞数

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

seat

varchar

64

座位号

create_time

datetime

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

latest_music表:

latest_music_id

int

11

主键

最新音乐ID

singer

varchar

64

歌手

song_title

varchar

64

歌名

song

varchar

255

歌曲

lyric

longtext

0

歌词

cover

varchar

255

封面

music_type

varchar

64

音乐类型

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

seat

varchar

64

座位号

create_time

datetime

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

music_category表:

music_category_id

int

11

主键

音乐类别ID

music_type

varchar

64

音乐类型

examine_state

varchar

16

审核状态

已通过'

recommend

int

11

智能推荐

seat

varchar

64

座位号

create_time

datetime

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

notice表:

notice_id

mediumint

8

主键

公告id

title

varchar

125

标题

content

longtext

0

正文

create_time

timestamp

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

personalized_recommendation表:

personalized_recommendation_id

int

11

主键

个性推荐ID

singer

varchar

64

歌手

time_to_market

date

0

上市时间

song_title

varchar

64

歌名

cover

varchar

255

封面

song

varchar

255

歌曲

music_type

varchar

64

音乐类型

lyric

longtext

0

歌词

hits

int

11

点击数

praise_len

int

11

点赞数

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

seat

varchar

64

座位号

create_time

datetime

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

praise表:

praise_id

int

10

主键

点赞ID

user_id

int

11

点赞人

create_time

timestamp

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

source_table

varchar

255

来源表

source_field

varchar

255

来源字段

source_id

int

10

来源ID

status

tinyint

1

点赞状态1为点赞,0已取消

ranking_list表:

ranking_list_id

int

11

主键

排行榜ID

title

varchar

64

标题

cover

varchar

255

封面

singer

varchar

64

歌手

song_title

varchar

64

歌名

song

varchar

255

歌曲

music_type

varchar

64

音乐类型

hits

int

11

点击数

praise_len

int

11

点赞数

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

seat

varchar

64

座位号

create_time

datetime

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

score表:

score_id

int

10

主键

评分ID

user_id

int

11

评分人

nickname

varchar

64

昵称

score_num

double

5

评分

create_time

timestamp

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

source_table

varchar

255

来源表

source_field

varchar

255

来源字段

source_id

int

10

来源ID

singer表:

singer_id

int

11

主键

歌手ID

singer

varchar

64

歌手

brief_introduction

longtext

0

简介

cover

varchar

255

封面

debut_time

varchar

64

出道时间

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

seat

varchar

64

座位号

create_time

datetime

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

slides表:

slides_id

int

10

主键

轮播图ID

title

varchar

64

标题

content

varchar

255

内容

url

varchar

255

链接

img

varchar

255

轮播图

hits

int

10

点击量

create_time

timestamp

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

upload表:

upload_id

int

11

主键

上传ID

name

varchar

64

文件名

path

varchar

255

访问路径

file

varchar

255

文件路径

display

varchar

255

显示顺序

father_id

int

11

父级ID

dir

varchar

255

文件夹

type

varchar

32

文件类型

user表:

user_id

mediumint

8

主键

用户ID

state

smallint

1

账户状态

user_group

varchar

32

所在用户组

login_time

timestamp

0

上次登录时间

CURRENT_TIMESTAMP

phone

varchar

11

手机号码

phone_state

smallint

1

手机认证

username

varchar

16

用户名

nickname

varchar

16

昵称

password

varchar

64

密码

email

varchar

64

邮箱

email_state

smallint

1

邮箱认证

avatar

varchar

255

头像地址

create_time

timestamp

0

创建时间

CURRENT_TIMESTAMP

user_group表:

group_id

mediumint

8

主键

用户组ID

display

smallint

4

显示顺序

name

varchar

16

分类

description

varchar

255

描述

source_table

varchar

255

来源表

source_field

varchar

255

来源字段

source_id

int

10

来源ID

register

smallint

1

注册位置

create_time

timestamp

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

user_registration表:

user_registration_id

int

11

主键

用户注册ID

user_account

varchar

64

用户账号

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

seat

varchar

64

座位号

user_id

int

11

用户ID

create_time

datetime

0

创建时间

CURRENT_TIMESTAMP

update_time

timestamp

0

更新时间

CURRENT_TIMESTAMP

第5章  系统实现

5.1登录模块的实现

音乐电台推荐系统的系统入口就是用户登录功能,在浏览器输系统地址跳转至系统前台首页,系统前台的登录窗口在首页右面,包括用户名、密码、用户点击登录按钮,则进行登录验证。

登录流程图如下所示。

 

图5-1登录流程图

系统登录界面如下所示。

 

图5-2系统登录

5.2用户子系统模块的实现

5.2.1用户首页的实现

在音乐电台推荐系统的用户首页,主页有用户登录页面,以及音乐信息的展示等,在首页的导航栏中可看出,该系统主要有首页、公告栏、新闻、最新音乐、个性推荐、热门歌单、排行榜、歌手搜索关键词等主要模块。

如下图所示为系统的用户首页界面。

 

图5-3用户首页

5.2.2注册模块的实现

这块程序首先根据所取得的表单中的用户名查询数据库中是否有相同用户名的记录,如果数据库存在相同的用户名,则提示用户名已存在,否则,打开记录集并添加一条新的记录,然后系统默认要给用户发送注册成功的提醒。

用户注册流程图如下所示。

 

图5-4用户注册流程图

用户注册界面如下图所示。

 

图5-5用户注册

5.2.3新闻模块的实现

用户点击新闻按钮进入新闻,自动播放音乐,可查看歌手、歌曲、封面、歌名、歌词、音乐类型等功能,点击歌曲按钮可以开始或暂停歌曲,新闻模块如下所示。

 

图5-6新闻模块界面图

5.2.4个性推荐模块的实现

  用户点击个性推荐按钮进入个性推荐,歌曲自动播放,可查看歌手、歌曲、封面、歌名、歌词、音乐类型点赞数、评论等功能,点击歌曲按钮可以开始或暂停歌曲,个性推荐模块如下图所示。

 

图5-7个性推荐模块界面图

5.3管理员子系统模块的实现

5.3.1用户管理模块的实现

系统用户管理主要是对普通管理员的添加,旧用户可删除,也是从下拉菜单中找到对应的用户名称将其删除。不论是新用户添加还是旧用户的删除,这个权限只有管理员具有。

系统用户管理界面如下图所示。

 

图5-8系统用户管理

5.3.2最新音乐模块的实现

最新音乐模块管理员输入歌手、歌曲、封面、歌名、歌词、进行添加最新音乐,根据需要可以添加或修改最新音乐功能图如下所示。

 

图5-9最新音乐界面图

5.3.3热门歌单模块的实现

热门歌单添加功能输入歌单名、音乐类型、封面、歌曲、歌词、的提交添加、可根据需要删除和修改。

热门歌单添加如下图所示:

 

图5-10热门歌单界面图

5.3.3排行榜模块的实现

排行榜添加,功能主要指对其输入标题、封面、歌手、音乐类型、封面、歌曲、歌词、提交添加排行榜,并根据需要删除和修改。

排行榜添加如下图所示:

图5-11音乐排行榜页面

第6章  系统测试

6.1软件测试

在设计系统的过程中,存在一些错误是不可避免的。For语句语法错误,运行的提示,并要求立即纠正,因此,容易发现和纠正错误等。但另一种类型的错误是程序执行时由于不正确的操作或对某些数据计算公式的逻辑错误导致错误的结果。这种错误的隐蔽性强,有时会出现,有时不出现,因此,这种误差动态屏幕耗时。

6.2功能测试

功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项检测,检查产品是否达到用户要求的功能。下面列出的测试用例是基于需求分析阶段的用例描述而进行的设计。

下面将通过表格的形式介绍针对本系统每个功能模块所进行的功能测试。

1.注册模块功能测试,如下表所示。

表6-1注册测试

测试用例编号

测试用例描述

前提条件

测试步骤

预期结果

实际结果

状态

用户注册

用户打开注册界面

输入合适的用户名,密码为空

无法注册

提示密码不得为空,无法注册

正常

用户注册

用户打开注册界面

输入不合适的用户名、2次相同的密码

无法注册

提示用户注册失败

正常

用户注册

用户打开注册界面

输入合适的用户名,两次密码不一致

无法注册

提示用户名不得为空,无法注册

正常

用户注册

用户打开注册界面

输入的用户名为空

无法注册

提示用户名不能为空

正常

用户注册

用户打开注册界面

输入合适的用户名和两次相同的密码

正常注册

注册成功

正常

2.登录模块功能测试,如下表所示。

表6-2登录测试

测试用例编号

测试用例描述

前提条件

测试步骤

预期结果

实际结果

状态

登录系统

用户打开登录界面

输入正确的用户名,密码为空

无法登录

提示密码不得为空,无法登录

正常

登录系统

用户打开登录界面

输入正确的用户名,输入错误密码

无法登录

提示密码不正确,无法登录

正常

登录系统

用户打开登录界面

输入正确的密码,用户名为空

无法登录

提示用户名不得为空,无法登录

正常

登录系统

用户打开登录界面

输入正确的密码,错误的用户名

无法登陆

提示用户名不正确,无法登录

正常

登录系统

用户打开登录界面

用户名及密码都为空

无法登录

提示用户名和密码不得为空,无法登录

正常

登录系统

用户打开登录界面

用户名及密码都输入错误

无法登录

提示用户名和密码正确,无法登录

正常

登录系统

用户打开登录界面

输入正确的用户名和密码

正常登录

进入主界面

正常

3.修改密码模块功能测试,如下表所示。

表6-3修改密码测试

测试用例编号

测试用例描述

前提条件

测试步骤

预期结果

实际结果

状态

修改密码

用户打开修改密码界面

输入正确初始密码和2次相同的新密码

密码修改成功

密码修改成功

正常

修改密码

用户打开修改密码界面

输入错误的原始密码

密码修改失败

密码修改失败

正常

修改密码

用户打开修改密码界面

输入正确初始密码和2次不相同的新密码

密码修改失败

密码修改失败

正常

4.个人中心功能测试,如下表所示。

表6-4个人中心测试

测试用例编号

测试用例描述

前提条件

测试步骤

预期结果

实际结果

状态

用户信息修改

用户已登录,进入个人中心,且打开个人信息界面

输入内容不合法或必填项为空

修改失败

提示输入内容非法

正常

用户信息修改

用户已登录,进入个人中心,且打开个人信息界面

输入内容合法

修改成功

提示修改成功

正常

6.3测试结果

通过对音乐电台推荐系统整个流程管理的测试,发现了许多无法实现的功能并及时得到改正和实现,为音乐电台推荐系统的发布奠定了基础。此系统中各模块的功能都基本实现,不过还存在着许多不足,在以后的学习中通过测试还需加强和完善。

第7章  总结

本文主要研究了音乐电台推荐系统的设计与实现。本次论文主要研究的内容主要包括:

(1)分析研究了本课题的开发背景和课题的研究意义。

(2)对此次毕业设计进行了详尽的需求分析,并根据实际需求,分析了其数据字典。

(3)概要设计了系统的功能模块,详细设计了系统所使用的数据库表,并研究了该系统的ER图。

(4)详细介绍了该平台要实现的功能,构建了此系统。

从技术上来说,整个系统的基本实现环境是Win10操作系统搭配Pycharm下的Python环境,数据库的建立使用MySQL软件,系统开发使用Pycharm软件,用Python语言进行系统的设计和开发,图片采用Photoshop CS6处理,使整个系统在视觉上和功能上尽量做到完整和美观。系统界面设计美观大方,功能较为完整,技术较先进且具有一定现实意义。

在摸索中前进。对MySQL数据库的使用,如何设计后台表结构,使得系统更加合理,健壮,是面临的又一个难题,通过查找相关资料,以及在充分的需求分析基础上,解决了以上问题。若条件允许,系统的功能模块能够更丰富,某些模块的功能也能更完善,用户之间权限的处理逻辑性也能更强。今后在改善客观条件的情况下,本系统还需要进一步进行研究开发。

致  谢

经历了几个月的毕业设计之旅,遭遇了无数难题与挑战,几经波折后,近乎要摧毁我当初选择这个题目的信心。好在我的导师一直坚持对我悉心支持,并对此套系统提出了诸多改善意见,解决了我所遇到的众多难题,音乐电台推荐系统也得以在这样的境况下圆满完成。老师给予了我正确的指导和极大的帮助,这不仅仅使我获得了足够多的开发经验,更使我在系统设计过程中少走了许多的弯路,巩固了以前所学的知识,提高了应用能力,这使我对以后的工作也信心满满。

敬业的工作态度都给予了我极大的鼓励与帮助。对于提出的问题和遇到的困难都给予细心的解答和真诚的帮助,再次表示衷心的感谢。我还要对学院及系里的各位领导、老师们表示谢意,在这次毕业论文期间给我们提供了良好的学习和生活环境,并给予软硬件的支持,使得我的系统设计工作及论文撰写工作更加顺畅、便利。最后我还要感谢所有为我的毕业设计提出指导意见的各位老师、同学。

参考文献

[1]田杰,胡秋霞,司佳豪.基于深度信念网络DBN的音乐推荐系统设计[J].电子设计工程,2021,29(23):162-165+170.DOI:10.14022/j.issn1674-6236.2021.23.033.

[2]华泽,叶雨航.协同过滤算法及在个性化音乐推荐中的应用[J].现代计算机,2021(22):43-46+54.

[3]Ben Sassi Imen,Ben Yahia Sadok,Liiv Innar. MORec: At the crossroads of context-aware and multi-criteria decision making for online music recommendation[J]. Expert Systems With Applications,2021,183:

[4]彭立涵. 基于大数据平台的音乐推荐系统的设计与实现[D].哈尔滨理工大学,2021.

[5]曲天晟. 融合时间上下文信息的个性化音乐混合推荐算法研究[D].渤海大学,2021.DOI:10.27190/d.cnki.gjzsc.2021.000368.

[6]Anand R,Sabeenian R.S,Gurang Deepika,Kirthika R,Rubeena Shaik. AI based Music Recommendation system using Deep Learning Algorithms[J]. IOP Conference Series: Earth and Environmental Science,2021,785(1):

[7]陈维玮. 基于多任务学习和用户行为序列的音乐推荐系统设计与实现[D].北京邮电大学,2021.DOI:10.26969/d.cnki.gbydu.2021.001574.

[8]沈国明. 基于原始标签的音乐推荐系统的设计与实现[D].北京邮电大学,2021.DOI:10.26969/d.cnki.gbydu.2021.002610.

[9]Kim Youngjun,Jeong Hayoung,Cho JunDong,Shin Jitae. Construction of a Soundscape-Based Media Art Exhibition to Improve User Appreciation Experience by Using Deep Neural Networks[J]. Electronics,2021

[10]曾凡聪. 个性化音乐推荐系统[D].电子科技大学,2021.

[11]宋雪峰. 基于深度学习的个性化音乐推荐系统设计与实现[D].黑龙江大学,2021.DOI:10.27123/d.cnki.ghlju.2021.001626.

[12]黄川林,鲁艳霞.基于协同过滤和标签的混合音乐推荐算法研究[J].软件工程,2021,24(04):10-14.DOI:10.19644/j.cnki.issn2096-1472.2021.04.003.

[13]Seaver Nick. Everything lies in a space: cultural data and spatial reality[J]. Journal of the Royal Anthropological Institute,2021,27(S1):

[14]付悦. 基于协同过滤音乐推荐算法的研究[D].沈阳理工大学,2021

[15]彭兵.浅谈MVC设计模式在Django程序中的应用[J].信息与电脑(理论版),2019(11):104-105.

[16]赵辉,熊文俊.Django的网络数据库连接技术及运用之研究[J].电脑知识与技术,2019,15(17):25-26.

[17]姜慧慧.计算机软件开发在多领域中的运用分析[J].科技经济市场,2019(04):12-13.

[18]吕牡丹.基于Django技术的高校智能排课系统的设计[J].计算机产品与流通,2019(07):210.

[19]陈秋玲.基于PythonWeb的图书购物网站的设计与实现[J].电脑知识与技术,2019,15(16):36-38.

[20]毛家麒.基于Django的网络相册系统实现[J].信息记录材料,2019,20(06):118-119.

  免费领取本源代码,请关注点赞+私信

  • 153
    点赞
  • 165
    收藏
    觉得还不错? 一键收藏
  • 63
    评论
### 回答1: 很抱歉,我是AI语言模型,无法提供源码。但是,您可以在网上搜索相关的Python网络爬虫系统的源码,或者参考一些开源的网络爬虫框架,如Scrapy、BeautifulSoup等。同时,也可以学习相关的Python网络爬虫知识,自己编写网络爬虫程序。 ### 回答2: 基于Python的网络爬虫系统设计实现源码,可以借助多种Python实现。下面介绍其中比较常用的库及其应用。 1. requests库: 用于网络请求,可发送HTTP/HTTPS请求,支持GET/POST等请求方式,并能够自动保存Cookie。 2. BeautifulSoup库: 用于HTML/XML解析,可解析HTML/XML文本内容并提取需要的数据。 3. lxml库:同样用于HTML/XML解析,性能更好,但使用稍微复杂一些。可以用来解决一些BeautifulSoup不能实现的功能,比如按Xpath表达式提取数据。 4. re库:正则表达式库,用于字符串匹配和替换。用来处理复杂的文本内容提取。 5. PyQuery库:是jQuery的Python实现,用于HTML/XML解析,可以像jQuery一样操作树形结构的HTML/XML文本。 6. Scrapy框架: Scrapy是一个强大的web爬虫框架。Scrapy集成了大量模块,支持页面抓取、数据解析、存储、异步I/O、自定义扩展等功能。基于Scrapy框架,可以轻松实现高效、可扩展的web爬虫系统。 另外,要实现网络爬虫系统,还需要清楚爬虫的工作原理和流程,设计好数据库表结构,确立好数据存储方式等。需要做好反扒防护,以免在爬虫过程中出现IP被封等情况。综合以上因素,可以选择不同的模块,设计出个性化的、高效稳定的基于Python的网络爬虫系统,提高数据爬取、分析和处理的效率。 ### 回答3: 目前,python已经成为最具影响力的编程语言之一,其中网络爬虫是python的一个热门应用领域之一。基于python的网络爬虫系统设计实现,可以通过编写代码从互联网上抓取数据,获取有价值的信息。下面是一个基于python的网络爬虫系统设计实现源码。 一、设计概述 本网络爬虫系统的设计主要包含了以下几个方面: 1. 爬取目标:将网络爬虫的目标进行分类,并制定相应的信息获取策略。 2. 网络爬虫框架:本系统使用了Scrapy框架进行网络数据抓取。 3. 数据解析:本系统使用Python内置的正则表达式库re进行数据解析。 4. 数据存储:本系统使用Mongodb数据库存储获取的数据。 二、系统实现 1. 外部输入:用户输入爬取目标的链接网址。 2. 网络爬虫框架:本系统使用Scrapy框架进行网络爬取,使用Scrapy首先需要创建一个项目,使用命令创建一个Scrapy项目: scrapy startproject project_name 该命令将自动生成一个project_name目录,该目录下包含了Scrapy框架需要的各种文件。 3. 目标策略制定:该步骤需要对目标进行分类,对不同的目标制定不同的策略。例如,制定抓取规则、获取数据条件和错误判断方法。 4. 数据解析:本系统使用Python内置的正则表达式库re进行数据解析,用正则表达式匹配需要的数据。 5. 数据存储:本系统使用Mongodb数据库存储获取的数据,连同Mongodb模板库pymongo — v3.7.1。 三、源码说明 1.运行Scrapy: 首先,在项目目录下使用命令运行Scrapy: scrapy crawl spider_name 其中spider_name为自定义的爬虫名称。 2.制定爬虫: 在项目目录下创建一个spiders目录,并在其中创建一个.py文件,文件中需要继承scrapy.Spider父类,并重写start_requests和parse方法。 3.目标策略制定: 在setting.py文件中定义目标的网址和供应商信息,用于请求: start_urls = [ 'http://www.xxx.com/item', ] headers = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"} proxies = [ 'http://221.204.119.228:33993', 'http://14.29.124.12:8080', 'http://110.73.6.167:8123' ] 在spider.py文件中,制定xpath进行解析各种元素信息: def parse_product(self, response): loader = ItemLoader(item=Product(), response=response) loader.add_xpath('name', '//*[@id="productTitle"]/text()') loader.add_xpath('brand', '//*[@id="brand"]/text()') loader.add_xpath('price', '//*[@id="priceblock_ourprice"]/@src') loader.add_xpath('currency', '//*[@id="priceblock_ourprice"]/text()') loader.add_xpath('asin', '//*[@id="averageCustomerReviews"]/div[1]/a/@href') loader.add_xpath('category', '//*[@id="wayfinding-breadcrumbs_container"]/ul/li[position() > 1]/a/text()') loader.add_value('url', response.url) loader.add_value('useragent', response.request.headers['User-Agent']) yield loader.load_item() 在pipelines.py文件中,按指定格式存储结果数据: def process_item(self, item, spider): self.collection.insert(dict(item)) return item 四、总结 本文介绍了一个基于python的网络爬虫系统设计实现,针对不同的目标进行分类和制定不同的策略,使用python内置的正则表达式库进行数据解析,使用Mongodb数据库存储获取的数据。整个网络爬虫系统的实现主要依托于Scrapy框架,通过编写代码实现从互联网上抓取数据的功能,提供了一种集中、高效的数据采集机制,为数据采集业务提供了一种全面的解决方案。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值