毕业设计(论文)-前沿科技日报网站的设计与制作.docx_第1页
毕业设计(论文)-前沿科技日报网站的设计与制作.docx_第2页
毕业设计(论文)-前沿科技日报网站的设计与制作.docx_第3页
毕业设计(论文)-前沿科技日报网站的设计与制作.docx_第4页
毕业设计(论文)-前沿科技日报网站的设计与制作.docx_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分类号 论文选题类型 U D C 编号 本科毕业论文(设计)题 目 前沿科技日报网站的设计与制作学 院 物理科学与技术学院 专 业 电子信息工程 年 级 2012级 学生姓名 学 号 指导教师 2016年4月华中师范大学学位论文原创性声明本人郑重声明:所呈交的学位论文是本人在导师指导下独立进行研究工作所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。学位论文作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于1、保密 ,在_年解密后适用本授权书。2、不保密 。(请在以上相应方框内打“”)学位论文作者签名: 日期: 年 月 日导师签名: 日期: 年 月 日目录摘要:5关键词:5Abstract5Keywords:61.绪论71.1研究背景及意义71.2国内外研究现状:71.3论文的主要研究内容82.需求分析与概要设计102.1需求分析与业务流抽象102.1.1业务需求分析102.1.2性能需求分析122.2系统体系架构122.2.1MVC软件设计框架122.2.2网站架构设计132.3系统功能模块设计:142.3.1系统模块用例142.3.2新闻展示模块152.3.3站内搜索模块152.3.4文件下载模块152.3.5其他功能模块152.4数据库设计152.4.1数据库表的设计要素152.4.2数据库表的设计实例162.5本章小结173.相关理论与技术研究183.1基于Web程序应用平台的动态网站设计183.1.1WAMP集成开发平台架构183.1.2通信机制203.1.3网站前端页面的设计213.2关键算法223.2.1站内搜索223.2.2新闻的获取与分类243.3参考资料下载功能263.4本章小结274.原型系统的实现284.1开发环境的搭建284.1.1前端开发环境的搭建284.1.2后端开发环境的搭建284.2网站前端页面显示模块的实现:284.3站内搜索功能的实现304.4新闻按类显示功能的实现334.5文件下载功能的实现344.6本章小结345.系统测试与应用355.1网站页面显示355.1.1网站主页355.1.2网站具体新闻页面365.1.3资料下载页面365.2网站重点功能测试375.2.1网站站内搜索功能375.2.2新闻分类显示功能测试385.3本章小结396.结束语406.1论文工作总结406.2论文的不足以及展望40参考文献:42致谢44全套设计加扣 3012250582摘要:近些年来,随着信息技术的快速发展,科技日新月异,各类前沿科技网站层出不穷。然而,如何让当代相关专业大学生对前沿科技有更为深刻的了解,让他们知道自己所学相关知识在前沿科技中的应用的问题,是本文重点研究的问题。本文通过为当代相关专业大学生制作一个前沿科技日报网站(以下称为本网站),为他们提供一个学习前沿科技,同时了解自己所学知识在前沿科技中的应用的平台。本文主要是完成该网站的设计与制作。本文第一章综述了本课题的研究意义以及前沿科技网站建设的国内外研究现状;第二章对本网站进行了系统功能需求分析,并对网站进行架构设计,然后针对本网站要实现的功能进行了系统功能模块设计,最后是进行数据库设计;第三章与第四章着重研究了本网站站内搜索功能以及新闻获取与分类功能的实现方法,通过比较不同的实现方案选择了适合本网站实现的方法并运用相关语言进行了功能的实现;第五章是系统的测试部分,依次测试系统的各项功能是否达到预期效果,验证系统的可用性。用户可以进入本网站进行前沿科技信息的浏览,同时,可以通过相关资料学习与前沿科技相关联的专业知识,如果需要还可以下载相关资料,具有一定的实用价值。关键词:科技日报网站 网站建设 信息系统 MySQL PHPAbstract:In recent years, with the rapid development of information technology, science and technology change rapidly, all kinds of cutting-edge technology websites emerge in endlessly. However, how to make the relevant professional college students have a deeper understanding of cutting-edge technology, to let them know that their knowledge in the application of cutting-edge technology is the key problem of this paper research. Through making a cutting-edge technology daily website (the following called as this website), this article provides contemporary college students a platform to learn cutting-edge technology, and understand their knowledge in the application of the cutting-edge technology. This paper mainly completed the design and building of the site. In this paper, the first chapter summarizes the research significance of this topic and the domestic and foreign research present situation of the construction of cutting-edge technology website; the second chapter has carried on the system function requirement analysis and architecture design of the site, and then completed the system function module design according to the aim function, designed a database at last; Chapter three and chapter four have studied emphatically in the realization of search function and the news gathering and classification function of this net station, by comparing the different implementation scheme, chosen the suitable method and use the relevant languages to achieve the functions; The fifth chapter is the system of the test, has tested each function of this site to determine whether expected quality has been realized, in turn, and verified the system availability.The user can enter this website for cutting-edge technology information browsing, at the same time, they can learn by references that is associated with cutting-edge technology professional knowledge, if needed, they can also download references. This website has a certain practical value.Keywords:science and technology journal website, website construction, information system, MySQL, PHP 1.绪论1.1研究背景及意义随着计算机和互联网技术的快速发展,科技不断进步。对于生活在大学这座象牙塔内的众多大学生来说,他们多数都是专注于专业知识的学习,对于前沿科技的了解并不充分。不仅如此,多数的大学生平时只是以学习好教材上的基础知识为主要目的,并没有话更多的时间去思考自己所学知识在生活实际中的应用,相关的动手实践更是少之又少。对于前沿科技,也多是看一些高新科技的使用,对于这些科技的核心技术,与自己所学知识的联系,也是全然不知。这也就导致了相关专业的大学生在就业的时候,往往都是呈现出动手能力差,创新能力弱的特征,难以在短时间内投入实际工作当中。因而,如何提高相关专业大学生甚至是整体当代大学生对于前沿科技的了解,如何跟上时代的步伐成为了令人关心的问题。在这个信息化的时代,越来越多的人通过网络来获取信息。根据中国互联网信息中心CNNIC发布的第37次互联网统计报告来看,截至2015年12月,中国网民规模达6.68亿,互联网普及率为50.3%,半数中国人已经接入互联网,网民规模增速提升。更重要的是:在不断增加的新网民中,低龄(19岁以下)和学生群体比重最大。不断增加的网民数量使得以互联网为基础的在线教育有了进一步的发展,单纯的课堂上的知识讲解或许已经不足以跟上时代的脚步6。所以为学生提供一个课堂以外的学习平台是一个很好的选择,不仅如此,将前沿科技与相关的专业知识联系在一起可以帮助学生更好的理解前沿科技,了解专业知识的应用,提高个人的科学素养。综上,设计并实现一个以学生为服务对象的前沿科技日报推送网站不仅可以让学生对前沿科技有一定的了解,跟上时代的步伐,同时还可以帮助学生将所学知识与前沿科技联系起来,提高学生的应用能力,提升他们的科学素养。1.2国内外研究现状:随着当今科技迅速发展,前沿科技呈现多方面发展的趋势,相关的前沿科技网站层出不穷,但是,这些前沿科技网站大多数是为相关从业者以及兴趣爱好者设计,对于身处大学,相关经验不够丰富的大学生来说,只能作为一个新闻工具来使用。在国内,一些较为著名的前沿科技网站主要有:36氪,果壳网,钛媒体,极客公园等等;在国外,一些大家较为关注的科技网站有:Techmeme,Tech Crunch,MIT Technology Review,YANKO DESIGN,The Verge等等。对于他们的定位,有一定的区别:(1)创业者服务平台:36氪和国外的Tech Crunch网站主要推送一些关于在前沿科技领域创业的相关新闻;36氪的创始人刘成城对于这个网站的定位就是连接互联网创业者和风投人士的一个平台,从而演化成一个为这二者服务的收费平台。(2)互联网从业者社区:国内的极客公园的定位就是为相关行业的从业者们与爱好者们一个交流的空间。在这些网站里,用户对于新产品,新技术,新文章进行相关的讨论,评价,互相交流心得。(3)针对TMT(Technology Media Telecom)行业的媒体:国内的钛媒体,国外的MIT Technology Review,The Verge与其他的科技网站相比,更加具有媒体属性,它们更注重报道前沿科技资讯,同时,就一些事件发表评论。综合上述的介绍,可以看出现今的前沿科技网站主要的服务对象还是相关行业的从业者与爱好者,因而这些网站多数只是推送相关的前沿科技信息,对于相关的核心技术,讲解的并不多,同时,涉及的知识面较广,所以对于大学生来说,这些网站更像是一些纯粹的新闻网站以及讨论相关知识的社区。因此,本次毕业设计是为相关专业的大学生设计并制作一个前沿科技信息推送网站,在为学生推送前沿科技新闻的同时,向学生提供相关的学习课件,让学生可以对于前沿科技中运用的相关技术有所了解,更重要的是让学生了解自己所学知识与前沿科技的联系,从而激发学生的创新实践意识,提高学生的科学素养。1.3论文的主要研究内容本文的研究思路如图1-1:图1-1 本文研究内容本文的主要研究内容主要为以下几个方面: (1) 明确本网站的业务以及功能需求,通过业务与功能需求分析确立本网站的系统架构。同时对网站的数据库以及数据库表进行设计,确保可以完成网站数据信息的存储。(2) 对本网站的重点功能:站内搜索功能,新闻按类显示功能,文件下载功能进行方案分析并确定实现方法。(3) 明确网站采用的开发环境,完成网站的整体设计并进行测试。(4) 整理资料,完成论文写作。2.需求分析与概要设计2.1需求分析与业务流抽象2.1.1业务需求分析对于本网站,可以看作是帮助相关专业大学生将专业知识与前沿科技相互连接的一个学习平台,其主要业务可以分为:网站维护业务,网站站内搜索业务,资料下载业务,新闻分类业务。(1) 第一,网站维护业务。本网站是为相关专业大学生提供一个学习前沿科技的平台,前沿科技在不断进步,前沿科技信息在不断的变化,所以需要对网站定期的更新内容,让网站跟上时代的脚步。随着本网站的不断发展,除了对于网站内容的定期更新,还需要对网站的硬件支持设施不断地加以关注,必要时需要采取更换硬件设备。(2) 第二,网站功能性业务。为了给用户提供更加优越的浏览体验,本网站为用户设定了一些功能:站内搜索功能与文件下载功能。用户输入相应的关键词来搜索相应类别的新闻。本网站站内搜索功能流程如图2-1:图2-1本网站站内搜索流程图(3) 第三,新闻分类业务。对于每次添加的前沿科技新闻,需要对该新闻进行分类,然后向数据库表中输入有关于该前沿科技新闻的相关数据信息。当用户在网站中选取新闻类别之后,显示相应类别的前沿科技新闻或者学习资料。人工需要完成的工作如图2-2:图2-2人工采集新闻并完成分类流程图用户体验的新闻分类业务如图2-3:图2-3新闻分类业务流程图2.1.2性能需求分析在本网站的设计与实现中,不仅要求网站的功能设计达标,能够完成指定的功能,还需要网站性能达到一定要求,给用户提供更好的浏览体验。结合一般网站的性能需求分析,本网站的性能需求分析为:(1) 网站的动态性:本网站需要为用户提供一定的站内功能,所以需要将网站设计为一个动态网站,在为用户提供相应功能的同时,提高页面的交互性,为用户提供更好的浏览体验。(2) 网站的开放性:本网站虽然只是面向相关专业的大学生,但是,对于其他访问的用户,同样是开放的。(3) 网站的可拓展性:在本网站的开发过程中,不可能把性能都想全,在随着访问量的增加,网站的性能需求会有变化,比如日后对于网站响应性方面的性能提升。所以,本网站会采用MVC(Model View Controller,模型 视图 控制器)架构模式来解决这一问题。2.2系统体系架构2.2.1MVC软件设计框架在网站开发的过程中,采用MVC框架作为网站的基本框架是较为常见的。MVC框架的特点是将网站建设分为数据模型(Model),界面显示(View)及业务逻辑(Controller)三部分,这一设计十分有利于网站的持续拓展,符合软件设计中“低耦合”的需求。MVC框架中,Model即数据模型表现为在网站建设中对于后台数据库的操作,如对于数据库普通的增删改查操作;View即界面显示主要是负责网站中各页面的显示,主要是前端语言的实现;Controller即业务逻辑层,也称为控制层,是负责网站建设中交互部分的处理,控制用户的输入,向Model发送数据信息7。MVC框架的主要工作流程为:View部分负责页面显示,Controller处理页面中的交互事件,对于在页面中采集到的相关数据信息,发送给Model,Model对数据库进行相应的操作,Model操作完数据库之后,前端View进行相应的展示,具体如图2-4。图2-4 MVC框架工作流程图2.2.2网站架构设计本网站基于MVC软件设计框架的具体架构设计如图2-5:图2-5 本网站框架设计图2.3系统功能模块设计:2.3.1系统模块用例本网站是面向相关专业大学生的前沿科技日报网站,所以网站的主要使用者为:相关专业大学生与网站管理者。(1) 对于相关专业大学生:对前沿科技新闻的浏览,对感兴趣的相关新闻的搜索以及对相关学习资料的下载。(2) 对于网站管理者:需要对网站整体进行管理,包括了对网站新闻发布的管理,对于网站稳定性的管理等。网站新闻发布管理:定期对网站发布的前沿科技新闻进行更新,保证网站所发布新闻的前沿性,同时对数据库定期进行更新操作。网站稳定性管理:确保网站的整体功能与性能的稳定,数据库的安全性等等。系统模块用例如图2-6:图2-6 本网站系统模块图2.3.2新闻展示模块 本网站的新闻展示模块主要分为:主页的新闻简介以及新闻的具体介绍。本网站的新闻均为按类显示,依据前沿科技的类别对新闻做不同的分类。对于具体的实现,在后面的章节会有介绍,这里就不细述。2.3.3站内搜索模块为了让用户可以更加快速的浏览自己想要了解的具体的前沿科技类别的相关新闻,本网站为用户提供了一个简易的站内搜索功能。本网站所有发布的新闻均贴上了标签,用户可以依据这些标签,在搜索框内提示用户输入关键词,搜索自己感兴趣的新闻类别。2.3.4文件下载模块本网站的一个重要思想是帮助相关专业大学生将所学知识与前沿科技联系起来,所以,为用户提供参考资料的下载功能,让用户可以对相关技术有更加详细的了解。用户可以通过导航栏中直接进入资料下载页面,也可以通过站内搜索来搜索相应的学习文件,进行下载。2.3.5其他功能模块本网站为了用户能够更加清晰的了解网站,在每个网页的头部都设置了导航栏,帮助用户实现快速的页面转换,其次,网站还对发布的前沿科技新闻进行了分类,让用户可以更加有针对性的了解,学习前沿科技。2.4数据库设计2.4.1数据库表的设计要素对于数据库而言,最简单的理解方式:数据库就是一个系统,表就是它的对象,而字段即是它的属性。对于数据库的设计,结合以往的数据库表设计经验,要让数据库事务正确执行的几个要点是:数据库表的设计需要符合数据库表设计的四大基本要素,即:原子性,原始性,演绎性以及稳定性。对于关系型数据库表的设计,需要“三范式原则”,即:确保每列保持原子性;确保表中的每列都和主键相关;确保每列都和主键直接相关,而不是间接相关。2.4.2数据库表的设计实例我们需要依照以上的设计原则,为本网站的后端数据库表的设计建立合理的结构:包括单个表的结构设计以及表与表之间的结构设计即数据库表之间的关联设计。保证网站数据库的冗余小,结构合理,简单且稳定,侧面缓解网站后台的压力。本网站直接采用MySQL软件帮助建设网站的数据库表,直接采用视图化工具建设数据库。本网站的数据库表(一个新闻相关信息表)设计如表2-1:表2-1 新闻相关数据信息数据库表本网站只设计了一张数据库表,主要原因是本网站属于开发初期,网站数据较少,并且本网站主要是负责前沿科技日报的介绍以及相关参考资料的提供,所以,网站主要涉及的数据均为相关于前沿科技新闻的数据,所以只建立了一张有关于前沿科技新闻的数据库表。2.5本章小结 本章完成了本网站的需求分析与整体的概要设计。确定了本网站的将采用MVC软件框架进行架构设计,将网站分为模型层,视图层以及业务逻辑层(控制层),利于日后网站的功能拓展,同时依据需求分析,明确了网站需要为用户提供的服务,进而明确了本网站的功能设计,最后,完成了本网站后台的数据库设计,为本网站设计了相应的数据库表用于存储本网站的数据信息。3.相关理论与技术研究本次毕业设计是设计并实现一个前沿科技日报网站。本网站为动态网站,需要网站前后端协同工作来保证网站的正常运行,其中包括网站前端的显示,网站交互性的设计以及网站后端对于数据的存储及处理。本网站主要包含的功能模块有:前沿科技新闻的展示,站内搜索,文件下载以及后端对于新闻的分类。具体如图3-1:图3-1本网站功能模块图3.1基于Web程序应用平台的动态网站设计3.1.1WAMP集成开发平台架构本次毕设是为了制作一个动态的前沿科技日报网站。对于网站的动态性实现主要是后端(服务器端)对于前端可能变化的数据做出相应的处理,并给予响应。一个动态网站服务器平台至少要包括:操作系统+Web服务器+应用程序服务+数据库。现在主流的三种Web平台:ASP.NET(Active Server Pages.Net 动态服务器页面)、JavaEE和LAMP(Linux+Apache+MySQL+PHP),它们各有优缺点,用于满足不同的需要和用户。三者比较如表3-18:表3-1 LAMP,J2EE,ASP.NET性能比较性能比较LAMPJ2EEASP.NET运行速度较快快快开发速度快慢快运行损耗一般较小较大难易程度简单难简单运行平台Linux/UINX/Windows平台绝大多数平台均可Windows平台扩展性好好较差安全性好好好较差应用程度较广较广较广建设成本非常低非常高高由上表可以非常直观的看出:相比于J2EE技术架构,LAMP架构具有开发速度快,开发较为简单,建设成本较低;对比于.NET技术架构,LAMP技术架构可以支持更多的运行平台,可以获得更好的性能以及更低的建设成本。所以,本次毕业设计选择一个类似于LAMP平台的WAMP(Windows+Apache+MySQL+PHP)平台作为本网站的Web程序应用开发平台。对于本网站使用WAMP开发平台的主要原因有:(1) 它是一款AMP集成开发平台,即将Web服务器Apache,关系型数据库管理系统MySQL以及服务器端脚本语言PHP(Hypertext Preprocessor,超级文本预处理语言)集成起来。它可以帮助我们一次性安装并设置好后端开发平台。它可以避免由于缺乏AMP的知识,而无法正确设置环境9。(2) 它的运行平台为Windows平台,所以可以帮助我们在本地对网站进行测试。(3) WAMP集成开发环境多种多样,可以有较多的选择。本网站采用WAMPServer作为网站后端的开发环境。WAMP开发平台如图3-2: 图3-2 WAMP开发平台架构图3.1.2通信机制对于本网站通信机制的选择,主要是依据网站相关属性来确立的。本网站的实现目的是建立一个动态性的网站,所以,本网站所采用的通信机制是:动态页面访问机制。本网站采用的是B/S架构,即:Browser/Server,浏览器/服务器两端架构。在此架构下,网站通信机制具体表现如图3-3:图3-3 动态网页通信机制图在本网站中,用户访问网站,用户的行为(提交表单)产生相应数据,浏览器获取相应信息,并向浏览器发出请求,以Post或者是Get方式。在网站后端,即Web服务器端,如果前端只是想获取(Get)相关页面,服务器端则直接查询目录,获取相关文件,返回给前端(浏览器端)进行解析并显示;如果前端提交了相关的表单,服务器端则先获取相应的服务器端应用程序(本网站采用的是PHP进行书写),对表单进行相应的处理,然后对数据库进行操作(主要是查找工作),PHP再对结果进行相应处理,最后再由服务器返回前端进行解析显示。其具体过程如图3-4:图3-4 本网站通信机制图在本毕业设计中,之所以采用动态页面访问机制,主要原因是:网站内部的一个站内搜索功能,需要用户输入一定范围内的关键词,来获取相应的搜索结果。访问者输入的搜索关键词是不确定的,所以需要后端在接收到前端提交过来的信息之后,再加以判断分析,然后操作数据库,做相应的处理,得到相应的结果,返回给前端,为用户显示。3.1.3网站前端页面的设计对于网站的前端的页面设计,主要考虑的是如何使用HTML(Hypertext Markup Language,超文本标记语言)与CSS3(Cascading Style Sheet3,层叠样式表)来分别对网站的主题框架以及页面样式进行相应的设计。其主要过程为:使用HTML对网站每一个页面进行整体框架的设计,即每个页面结构的设计,主要是包括页面中各个元素的摆放顺序。使用CSS3对网站中每一个页面的样式进行设计,即每个页面外观的设计。必要时使用JavaScript来帮助提高网站中网页的交互性。在本网站设计中,对于页面的布局方式有较高的要求。不同的布局方式带来的是不同的效果。现今主要流行的布局方式有:冻体布局:直接控制整个页面的大小,使其固定,使得整个内容的宽度不会受浏览器窗口扩展和收缩的影响。流体布局:在扩展或者收缩浏览器的窗口的时候,内容宽度会发生相应的扩展或者收缩。采用这个布局的时候,同时需要考虑内容的宽度,同时还要考虑流体布局元素对于其他元素的影响。可能会需要更改页面HTML文件的正常流的顺序,当用户使用电子阅读器的时候,会影响用户的浏览效果。凝胶布局:界面中元素的内容宽度是固定的,但是外边距会随着浏览器的收缩和扩展发生变化。通常,如果想要达到一个居中效果的话,会采用这种方法。 绝对定位。冻体布局,流体布局多应用于两栏内容模式,绝对定位方法可以用于多栏内容显示,可以让内容准确出现在页面的某个位置。如果先完成了页面的设计,并且有多栏内容的时候,采用绝对定位是个好方法。绝对定位是相对于浏览器窗口设计的,所以在浏览器扩展或者收缩的时候,会产生变化。综上,本网站主页涉及到多栏显示,会采用绝对定位对热点新闻模块进行布局设计,会采用凝胶布局与瀑布流布局方式结合的方式,对实时新闻进行布局。对于新闻的具体介绍页面以及搜索反馈页面,会使用凝胶布局来达到一个整体居中的一个效果。3.2关键算法3.2.1站内搜索在本网站中,为用户提供了一个搜索框搜索用户感兴趣的前沿日报新闻或者参考文件。对于这个站内搜索功能的实现主要是依据相关搜索算法。关于本网站站内搜索功能,实现方法有:(1) 构建属于自己网站的搜索引擎:用户输入搜索关键词,并制定查询条件。后台获取用户所输入的关键词之后,使用分词模块将用户输入的搜索词汇分割成独立的词语,之后按照用户的查询条件,构建相应的布尔查询,之后对数据库进行检索,最后再对检索的结果进行处理,包括了按照时间或相关度进行排序等10。其主要流程如图3-5:图3-5 搜索引擎工作流程图(2) 直接调用搜索引擎API接口,帮助用户搜索。(3) 结合本网站数据库的设计特点:为每一个新闻都添加了关键词标签,用于标识相关新闻所属的前沿科技类别,不仅如此,我们还将它设置为索引,更加利于搜索及相关操作。我们可以直接提示用户输入相关关键词,然后进行信息的检索。其主要流程如图3-6:图3-6 本网站站内搜索流程图 综上,考虑到本网站数据信息存储的特殊性(每条新闻均设置了相应的关键词标签)以及实现的难易程度,选择使用方案3来实现本网站的站内搜索功能。3.2.2新闻的获取与分类在本网站中,前沿科技新闻的获取与分类是网站的重点之一。对于前沿科技新闻的获取方法,有:使用聚焦网络爬虫,设定相应的抓取目标,使用爬虫算法有选择地在网络资源中爬取自己想要的信息。其主要流程如图3-7:图3-7 聚焦网络爬虫流程图由网站管理者设置初始URL与抓取目标,由聚焦爬虫算法爬取相关页面,并将网页相关数据信息存储在web数据库中,并通过分析,过滤,建立相应的索引。于此同时,使用网页分析算法过滤掉该网页与主题无关的链接,找到符合抓取目标的链接,存入web数据库并将其放入等待抓取的URL队列中。其中抓取目标的设立是网页分析算法与URL搜索策略的基础。对于抓取到的网站还需要进行信息抽取以及网页去重处理。:通过浏览相应的科技网站,网站管理者有目的性的选取相应的前沿科技新闻,并将其相关数据信息存储在数据库中。(1) 对于前沿科技新闻的分类:采用基于分类算法的网页分类系统对于中文网页的分类系统,相比于英文网页分类系统更为麻烦,主要是因为中文词汇与英文词汇的差别,英文词汇之间以空格键隔开,对词汇的划分较为简单,而中文词汇并不是这样,往往需要通过整句话的语义来确定。对于中文网页分类系统,分类算法的选择是系统实现的基础与关键。以下是几种比较典型的分类算法12:贝叶斯算法:贝叶斯分类算法的主要思想是通过判断网页中文本属于某类别的概率来确定网页所属的类别。文本所属类别的概率等于文本中每个词语属于该类别的概率,所得到的最大概率即可网页所属类别。:K-近邻算法:K-近邻算法的主要思想是:计算待分类的文挡到所有已经分类的文档的距离,找到距离最近的K个近邻,通过看这K个近邻中多数属于哪一类,就将待分类文档归于哪一类。除了上述的网页分类算法之后,还有决策树,神经网络等分类方法。以上基于分类算法的系统实现均要经过:网页信息的抽取,文本分词,训练库(包含语义库)的建立,分类器(分类函数)的训练以及测试过程。所以基本的分类系统的功能模块图如图3-8所示:图3-8 基本的分类系统功能模块图:直接采用人工分类,将搜集到的前沿科技新闻网页的相关信息(标题,时间,作者,简介,主要内容)人工提取,并存入数据库中。综上,考虑到实际的系统实现的可能性,采用方案2来进行本网站对于前沿科技新闻网页的分类工作,来保证网页分类足够的准确性。3.3参考资料下载功能本网站关于文件下载功能的实现:直接用链接标签提供下载链接。这样不仅可以支持浏览(只要浏览器可以识别这种文件格式就可以在线浏览),还可以支持用户进行下载。在上传参考资料的时候需要注意将所有同类的参考资料压缩在一个压缩包内,供用户下载;对于需要在线展示的文件,转换成浏览器可以识别的文件格式,供用户在线浏览。3.4本章小结 本章完成对于网站前端网页的设计以及网站后端开发平台的选择,同时对于网站中重要功能:站内搜索功能,新闻抓取功能,网页分类功能以及参考资料下载功能的实现进行了方案的比较与选择。4.原型系统的实现4.1开发环境的搭建 本网站开发环境的搭建主要分为前端开发环境和后端开发环境的搭建。前端开发主要负责本网站各网页的设计与实现,后端开发主要负责本网站数据逻辑处理以及数据库的相关操作。4.1.1前端开发环境的搭建(1)开发平台选择:IDEA(IntelliJ IDEA);(2)开发语言选择:HTML(超文本标记语言);CSS3(层叠样式表);JavaScript(Java脚本)。4.1.2后端开发环境的搭建(1)开发平台的选择:WAMPSERVER;(2)开发语言的选择:PHP(服务器端脚本语言);Apache(服务器软件);MySQL(关系数据库管理系统)。4.2网站前端页面显示模块的实现:本网站采用HTML语言为网站各个网页进行架构的设计,使用CSS3为网站的每个页面进行样式的设计,使用JavaScript帮助提高网站中各网页的交互性。具体如图4-1:图4-1 网站前端实现本网站主要分为:网站主页,具体新闻显示页面,资料下载页面,搜索结果返回页面等。其中主页的架构设计代码如图4-2:图4-2 本网站主页架构设计代码图在主页,设置了头部,热点新闻区,前沿科技列表以及主要新闻排列区。对于主页的样式设计,主要为字体的相关设置,各个块的相关位置信息的设置,如:内边距,边框,外边距的相关设定,以及相关背景图片的设置。其中较为重要的是热点新闻区的相对定位设置,具体如下:#hotnewsbackground:#F2FFFA; /*背景颜色设置*/margin-top:15px; /*外边距设置*/margin-right:auto;margin-left:auto;padding-left:15px; /*内边距设置*/padding-right:15px;text-align:center; /*文本居中*/#hotnews1width:400px;height:300px;background:url(./images/VR.png); /*背景图片设置*/#hotnews2width:250px;height:145px;background:url(./images/SmartHome.png) no-repeat;position:absolute; /*采用绝对定位*/top:145px; /*距离设置*/left:430px;对于主页热点新闻区的采用了常用的绝对定位布局方式,对于主要新闻区采用的是凝胶布局的布局方式,确定整个内容区的宽度(width属性),把内容区的左右外边距设置为自动(margin-left:auto; margin-right:auto;),这样主要新闻区就会形成自动居中。4.3站内搜索功能的实现站内搜索模块主要是靠网页头部右端的一个搜索框实现的。站内搜索涉及到了表单的提交,表单的验证,数据库的查询以及对数据库查询结果的处理(按时间顺序排序)。在本网站中,用户在搜索框(即HTML页面中的表单)中输入相应的词汇,此时,页面的DOM(Document Object Model,文档对象模型)会发生相应的变化,可通过JavaScript来获取网页DOM中的信息变化。用户点击提交按钮时,鼠标点击事件会触发JS函数,判断用户输入的关键词是否正确,如果正确,则提交表单数据给相应的后端PHP处理程序进行处理。本网站站内搜索功能的主要流程如图4-3:图4-3 本网站站内搜索具体流程图对于网站中搜索框的实现,主要是通过表单来设计实现的,本网站实现搜索框的具体代码为: 对于搜索框涉及到的关键词验证函数主要是一个JavaScript中的判断函数(if else语句),其中,通过表单的onsubmit方法来控制表单数据的提交与否,如果验证成功,则使onsubmit为true,准许提交表单数据,如果验证不成功,则使onsubmit为false,不提交表单数据,同时提示用户输入正确的关键词。具体代码如下:function index()var search=document.getElementById(searchForm); /注意这里是要得到表单的onsubmit方法。search.onsubmit=validate;function validate()var text=document.getElementById(searchtext).value;var submitOK=true;if (text=E-learning|text=虚拟现实|text=智能家居|text=人工智能|text=智能汽车|text=信息抽取|text=电子商务|text=自媒体微信) /这里主要是判断输入的是不是正确的关键词,如作者,名称,新闻专题E-learning,虚拟现实等等。 alert(Please waite a minute.The web will coming soon.); submitOK=true; else alert(Please enter the right keywords,like:E-learning,VR and so on.); submitOK=false; if (submitOK=false) return false; 在后端,相应的PHP文件对于数据的处理主要是先获取关键词的值,然后查询数据库,依据发布时间倒序输出。具体代码为:?php $searchtext=$_post(searchtext); /得到用户输入的关键词。 require(dbconfig.php); /导入配置文件。 $con=mysql_connect(localhost,root,); /登录数据库。 if(!$con) /登录不成功直接退出。 die(Could not connect:.mysql_error(); mysql_select_db(mywebdesign,$con); /选择数据库mywebdesign。 $searchrule=select Title,Author,Releasetime,Introduction,Src FROM newsinformation where Keyword=$searchtextorder by Releasetime DESC; /定义搜索条件:按照关键词进行收缩。结果按发布时间Releasetime降序排列输出。 $r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论