基于音乐网站的过滤式网络爬虫的研究毕业论文(编辑修改稿)内容摘要:
x 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 站点开发的,第一个公开版本 发布于 2020 年 10月 4日。 其将源代码以类 BSD 许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。 Nginx 可以在 UNIX、 GNU/Linux、 BSD、 Mac OS X、 Solaris,以及 Microsoft Windows 等操作系统中运行。 Nginx 官方提供的各种功能模块应有尽有,结合这些模块可以完整各种各样的配置要求, 例如: 15 压缩、防盗链、集群、 FastCGI、流媒体服务器、 Memcached 支持、 URL 重写等等,更关键的是 Nginx 拥有 Apache 和其他 HTTP 服务器无法比拟的高性能。 用户甚至可以在不改变原有网站的架构上,通过在前端引入 Nginx 来提升网站的访问速度。 CSS,即级联样式表,为网页设计和开发提供了一个全新的方法。 通过 CSS,我们可以将使用 HTML(即超文本标记语言)创建的网页上显示的文本与用于描述如何显示和表示该文本(使用 CSS 进行定义)的信息完全分隔开。 CSS 旨在解决问 题并帮助设计者节省时间,同时它还使设计人员能够 以更多的方式设计网页外观。 Css 的应用非常地普遍,大多数网页都会使用 css 技术设计外观。 举一个典型的示例:某些网页以特定的方式突出显示其链接。 它们的颜色不同于该页上其他文本的颜色,并且将鼠标移动到这些链接上方时,它们的颜色会发生变化或者出现下划线。 此操作就是通过 CSS 样式定义而不改动 HTML 代码来实现的。 Html( HyperText Markup Language),即超文本标记语言,它是以标准通用标记语言( SGML)为模板开发的下一代语言。 准确的 来说, html 是一个规范,一个标准,通过成 对的标签,它规定了在网页( Page)中每一块该显示何种内容,图片或者文字,以及其相应的排版格式。 通常, html 语言是会结合其他页面相关技术一起使用,以达到十分强大的界面显示效果。 Html 语言的标签库并不复杂,而且简单易学,随着时代的发展,它慢慢的由 版本过渡到 版本,其功能性、实用性得到不断的加强。 它是基于 web的应用开发的核心技术之一,虽然并不如其他技术一般复杂,但是其重要性却是许多 web 开发技术所不能比拟的。 Jquery 是一个十分优秀的轻量级 javascript 库,所谓 javascript 库,就是说它是基于 javascript 语言开发的,内部实现了许多重要、常用的功能的方法的一个集合。 它的目的是为了使网站开发人员在实现网页交互或者说前后台交互中更加方便易行,它的核心是简单、易用,代码量少。 Jquery 功能强大,可以简单的操作 document 对象,制作动画效果,易于进行事件处理,其中,特别 16 重要的一点是,它的为 Ajax 功能的使用提供了十分简单方便的接口,极大的减少了与后台交互并局部更新的代码量。 通过 Jquery 的 Api,开发者们对于网站的开发可以更加具有创造性。 MVC 设计模式 MVC,即 Model(模型)、 View(视图)、 Controller(控制器)。 在 MVC框架出现之前, java web 开发者经历了 Model 1 与 Model 2 开发时代。 早期的 web 应用都是静态页面,没有动态的显示效果,也无法动态的与用户进行交互。 MVC 框架采用分 层的思想,将 web 应用开发分为三层来分别开发,这不仅使得开发的目标变得更加明确也使得各层之间的耦合度得到降低,因此,降低了后期再次开发的成本,便于维护,可扩展性较强。 然而, MVC 框架并不总是好的,对于开发大型项目来说,自然采用 MVC 框架能够极大的提高工作效率,降低后期维护的成本,但是对于一些小型的 Web 项目来说,本身功能比较简单,若采用MVC框架,则会将一些简单的代码分割成复杂的三层,既增加了代码的复杂度,也降低了代码编写的效率,并且小型 web 项目的维护也不像大型项目那么频繁,所以, Model 1 模式在小型项目中也是有用 武之地的。 网络爬虫 网络爬虫的分类 网络爬虫通过技术和功能等不同角度有很多种分类。 基于整个 web 的网络爬虫:简称全网爬虫,是最基本的网络爬虫。 这种网络爬虫指从某一个或某几个初始种子 URL 开始,对整个 web 的资源不断进行爬取和分析,直到满足一定的停止条件。 这种网络爬虫消耗的资源非常大,需要抓取的页面非常多,所以一般被用来为搜索引擎和大型网络内容提供商提供数据采集服务;基于主题的网络爬虫(也被称作聚集型网络爬虫):这种网络爬虫会定义一个主题范围,然后有选择性的爬取相关页面。 区别于全网爬虫不加甄别的进行页面爬取,聚集型网络爬虫需要爬取的页面少,对于网络和硬件资源的消耗也大为减少,可以在内容方面得 17 到更快的更新,满足人们对特定信息的需要。 为了进行主题甄别,聚集型网络爬虫增加了两个模块,一个是链 接评价模块,另一个是内容评价模块。 通过对页面内容和链接的重要性进行计算,来决定链接的访问顺序。 聚焦爬虫爬行策略实现的关键是评价页面内容和链接的重要性,不同的方法计算出的重要性不同,由此导致链接的访问顺序也不同;增量式网络爬虫:爬取的是新增的和发生变化的页面数据。 传统的网络爬虫在根据自己的设定爬取一定的数据后就会停止对数据的继续抓取,在一定的周期以后,重新进行一轮数据抓取以替代以前的过时的数据。 但是这样做会爬取大量的重复资源,在时间和资源上的浪费比较大。 增量式网络爬虫则较好地解决了这个问题,减少了重复和浪费。 但是为了实现这种数据抓取方式,需要更高的算法复杂度和技术难度;其它类型的网络爬虫:在现实应用中,为了提高性能或者满足用户个性化需要,衍生出了一些其它类型的网络爬虫。 例如,基于用户个性化的网络爬虫:这种爬虫根据用户的兴趣过通过与用户的交互来为用户提供个性化的数据信息,不同用户搜索同一个关键词会返回不同的结果;基于元搜索的网络爬虫:把用户提交的关键字提交到多个搜索引擎,然后在分析整合所得结果后,再把内容返回给用户。 网络爬虫常见搜索策略 由于工作量巨大,所以全网爬虫通常会采用一些爬行策略来 提高效率。 常见的策略有如下三种:深度优先策略 ,核心思想是访问被搜索结构的叶子节点。 从初始的页面开始,进行深度优先的搜索,不断访问下一级链接,直到不能继续深入为止。 因此只有当爬虫爬完一个分支后才可以爬取其它分支。 深度优先搜索策略的优点在于,对于深层嵌套的内容,可以被尽可能的遍历。 但是这种策略也有先天不足,即如果某链接形成一个死循环的话,这种爬行策略会做大量无用功,造成大量的资源损失。 广度优先策略,这种搜索策略首先会将当前页面的所有超链接搜索完成后,才会进行下一层页面的爬行。 广度优先策略避免了深度优先策略的死循 环问题,而且储存比较方便,不需要消耗大量空间对中间节点进行储存。 但是这种搜索策略需要耗费一定时间来访问到较深层的页面,而且有很大可能会遗漏一些比较孤立的信息页面。 IP 地址搜索策略,网络爬虫被赋予一个种子 IP地址,继而对这个初始的地址段后的每个 地址中的文档进行遍历。 并且忽略文档文件中指向其他站点的链接地址。 这种搜索策略只对于比较小规模的搜索比 18 较适合,可以发现一些较少被引用的页面的信息。 19 3 音乐网站概要设计 概述 本章主要从需求分析,界面设计和核心功能等三个方面对系统的设计进行了讨论。 系统设计阶段是软件开发过程中极其重要的阶段,因为它决定了软件开发后续工作的方向,方向选择方面如果出现错误,将对软件开发工作造成致命性打击。 在这一阶段,需要开发者从全局的角度进行思考,对系统的整体框架进行讨论和设计。 用户永远是互联网产品的根本,没有用户的产品也就失去了意义。 所以评价一个互联网产品的标准,最重要的就是它是否满足了用户的需求。 进行需求分析时,首先要明确产品的目标人群,否则需求分析也就无从讨论了。 在需求 分析阶段,我们需要进行大量的调研,编写许多的功能需求文档,对其可行性做出评估,确立产品需要实现的功能,为后续的开发工作打下稳定的基石。 面向人群 应当指出,本音乐电台是为了区别于市面上大多数音乐软件而进行开发的。 开发的目的在于能够提供一些市面上同类产品无法做到或者缺失的用户功能,即根据用户的情绪提供个性化的歌曲。 一般对于此种功能有要求的用户,都是追求极致的音乐发烧友或者对美和艺术有着较高要求的人群。 这就对我们音乐电台的歌曲推荐功能和界面设计方面提出了更高的要求。 功能性需求 需求功能划分 目前市面上音乐软件、音乐网站可以说是鳞次栉比,但遗憾的是,这些音乐产品都没有自己的特色,流于俗套。 大多数网站只是互相模仿和对国外技术的照搬,同质化趋势严重,忽视了一些用户群体的需要。 通过我们对音乐网站的调研,发现市面上的音乐产品存在着以下几点缺陷:需要较长的时间才能适应用户 20 的口味,不能根据用户的情绪来进行歌曲推荐,歌曲分类过于复杂,需找自己喜欢的音乐往往非常令人厌倦。 据此我们开发出的电台主要划分为以下几个功能模块:情绪电台切换,歌曲播放控制,歌曲收藏,音乐展示以及用户管理。 功能描述 音乐展示:在播放歌曲时通过图形界面为用户展示相关信息。 一方面可以为用户展示出歌曲专辑信息、演唱者信息、播放进度、所处情绪电台信息,另一方面也可以为用户带来视觉上美的享受。 歌曲播放控制:这是音乐电台最基本的交互功能。 本电台以简单、省心为出发点,只为用户提供了三个播放控制交互,分别是播放 /暂停,随机播放,下一首。 收藏:作为一个针对用户的个性化电台,收藏功能当然是必不可少的。 当用户对当前播放的歌曲非常喜欢时,可以通过点击右下方的红心按钮进行收藏。 用户管理:本电台之所以 可以几乎不用花费时间来适应用户的口味,在于电台可以通过用户在 上收听歌曲的记录来分析出用户的喜好。 使用本电台,需要从该模块登陆。 本电台获取到访问用户在 的个人数据的权限后,通过 提供的 api 接口来爬取用户的个人数据。 情绪电台选择:本电台从功能上讲是一种情绪电台。 它的核心功能就是给用户推荐适合用户当前情绪下收听的同时也适合用户口味的歌曲。 它可以通过一些算法计算当前应该播放的电台的情绪,也可以通过用户点击情绪模块中的 up、down、 low、 high 几个 情绪分类来自行决定要收听哪类情绪电台。 性能需求 流畅性:通过优化代码逻辑,界面逻辑和系统逻辑,提高系统的反应速度,优化系统的性能,使得用户体验更加流畅。 稳定性:通过代码的设计和系统的测试,来尽量消除系统存在的 bug,增强系统的容错能力,从而提高用户体验。 易用性:实现设计的功能,满足产品面向人群的需求,减少不必要的冗繁操作,让用户使用起来更加的方便、简单。 可维护性:软件开发不是一件一劳永逸的事。 再高明的设计也往往会存在一 21 些意想不到的缺陷,或者有须要提升的空间。 所以系统的设计应该为以后的 维护提供便利,紧跟先进的技术和理念,不断对系统进行更新换代。 运行环境需求 本系统基于 mvc 设计模式,采用了简洁流行的 Python 编程语言,利用tornado 框架,使用 MySQL+Redis 组成的高性能数据库,进行系统的开发。 操作系统要求: windows xp 以上, Mac OS, Linux。 编程工具: Sublime Text2 服务器需求: tornado web 端服务器。 数据库: MySQL; Redis。 界面设计 技术手段 本网站的前台 采用了目前最流行的 CSS+ HTML5+JSP 技术,界面美观大方,代码逻辑清晰。 设计风格 简约:极简的设计风格是一种趋势。 在这个越来越快节奏的现代社会,人们穿梭在钢筋水泥之中,疲惫不堪。 我们需要一个去伪存真,简单纯净的地方来休憩心灵。 例如 ios 从拟物化的设计到扁平化的设计,其实就是一个去除纷繁的细节,突出本质的过程。 沉浸式:通过复杂的算法和简洁的交互,让用户无需花费精力进行冗杂的播放控制,用户可以全身心的投入到音乐的世界中,得到流畅的、沉浸式的音乐体验。 统一性:不同界面之间有着 统一的色彩与布局设计,整个音乐网站带给用户一种一致的视觉体验。 同一个界面之中不同模块与动画过度效果具有一致的设计,不会带给用户分裂的感觉。 22 界面设计方案 软件框架设计 本电台的框架设计遵从简洁至上的原则。 在主要播放界面,绝大部分面积分配给电台图像展示模块。 电台占据了屏幕左侧和中间的位置。 不同情绪的电台,会配上相应的一些唯美图像。 当用户在欣赏歌曲时,会在不经意间被这些图像吸引,陷入光和影的无限遐想之中。 右侧从上到下依次为专辑信息展示,歌曲播放控件,收藏按钮。 用户所需的交互 只在一个界面内就可以完成。 软件启动封面设计 一个软件的启动界面是非常重要的,因为用户的第。基于音乐网站的过滤式网络爬虫的研究毕业论文(编辑修改稿)
相关推荐
peroxide。 To summarize the signal by changing the electrical signals of electrochemical workstation of the law, In a certain range of change of electrical signal with a linear relationship between
磁、计算机、物理及通信技术为一体的高新技术。 本课题研究的是一种基于非接 触式 IC 卡射频技术的门禁控制系统 [1]。 射频识别即 RFID(Radio Frequency Identification)技术,又称电子标签、无线射频识别是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。 射频识别技术是一种非接触式的自动识别技术
图 几种典型的 G四链体结构 a:分子间四聚体结构 (平行 ); b:分子间二聚体邻位发夹型结构 (反平行 ); c:分子内椅状结构 (反平行 ); d:分子内蓝状结构 (反平行 ); e:分子内螺旋桨状结构 (平行 ); f:分子内混合型结构 G四链体与端粒、端粒酶和肿瘤的关系 端粒是由高度重复序列的端粒 DNA 和端粒结合蛋白组成的复合物。 20世纪三四十年代,Hermann Muller
电力线路或变压器投入前后的状况,以及某原件参数改变前后的运行状况。 由于改变某一条支路的参数或投入、退出某电力元件只影响该 支路两节点各自的自导纳和两节点之间的互导纳,因此不必重新形成 节点导纳矩阵,仅需要对原来的矩阵做相应的修改。 以下介绍几种修改方法: 1)原有网络引出一条支路,同时增添一个节点,如图 所示。 设 i 为原有网络中的节点, j 为新增的节点,新增支路的导纳为 ijy
的合理利用与间隙开发:城市是 “人 — 地”关系中人类活动占绝对优势的地方,由 于用地紧张,如何在有限的空间内充分利用每一寸土地,来协调人与自然的关系,成为当今城市生态学研究的热门话题。 在我国快速城市化的大潮中,城市化的影响越来越被研究人员所重视。 首先以快速发展的城市典型 深圳市为例进行了研究。 随后以上海 、广州、厦门 为研究对象的文章纷纷发表
许多领域,所以寻找出实际而有效的算法就显得比较重要了。 但是遗憾的 是,计算复杂性理论给予我们的结论却是,这种可能性尚属未知。 TSP的应用与价值 TSP 在现实生活中有很多应用。 直观上,最普通的 TSP的运用莫过于找出旅行商为遍历每个地理位置上的点的顺序,使他所经历的路径最短。 了解了对每个城市访问一次的最优旅行路径能够为旅行节约很多潜在的时间。 对提到的实例