
在线产品即时比价系统.doc
37页编号: 毕业设计阐明书题 目: 产品即时比价系统 学 院: 计算机科学与工程学院 专 业: 计算机科学与技术 学生姓名: 张水荣 学 号: 指引教师单位: 计算机科学与工程学院 姓 名: 张敬伟 职 称: 讲 师 题目类型:¨理论研究 ¨实验研究 ¨工程设计 ¨工程技术研究 þ软件开发 5月 31日摘 要近些年来电子商务行业获得了飞速的发展,电子商务变化了人们的购物习惯,越来越多的人倾向于在网上购买商品然而,顾客如何在众多的电子商务网站中找到性价比最高的商品?为理解决以上问题,即时比价系统就诞生了,即时比价系统通过收录各大电商网站的商品信息,实现了即时比价的功能顾客可以通过比价系统实时获得各大电商网站中的产品价格信息,而不用在多种电商的门户网站上来回切换,同步比价网站也提供应了顾客平时不会关注的冷门电商网站的商品信息。
本系统的功能是为顾客爬取各大电商网站的商品信息,并将这些数据同步呈现给顾客本系统分为3个层次:业务逻辑层、数据爬取层、视图层数据爬取层是整个个系统的核心,使用Jsoup文本解析库来对HTML文本进行解析,以获取其中的商品信息,再将获得的商品信息以对象的形式保存到一种列表中业务逻辑层是系统中的难点,其中使用了字符串相似度计算算法来获得两个名称相似或相似的商品,才干更好地实现对商品价格的对比功能本系统非常具有实用性,也有高度的可拓展性,可以很便捷地增长数据源核心词:电子商务;比价系统;数据爬取 AbstractRecent years, with the rapid development, people’s shopping habits have a big change, and online shopping are being practiced by more and more web users. However, how can the users find the high performance-price ratio goods from so many e-commerce sites?In order to solve this problem, price-comparisons was born. Price-comparisons in order to compare prices form different e-commerce sites immediately, it records the product form different e-commerce sites. Users can find the price of goods from more than one site in the price-comparisons, rather than in a number of websites switch back and forth. At the same time price-comparisons also provide the users information of goods from websites that are unpopular.The function of the system is to crawl the information of goods from websites for users, and synchronize the data presented to the user. The system is divided into three layers: the business logic layer, data layer crawling and view layer. Data crawling layer is the core of the system, and using Jsoup text parsing library for parsing HTML text in order to obtain the information of commodities, and saving the information as a Object into a List. The business logic layer is the difficulty of the system. To get the similarity or same product and implement the price compared function, the system uses the String similarity calculation algorithm.The system is very practical, and has a high expansibility. It’s very convenient to add a data source.Key words: e-commerce; price-comparisons; data-crawling目 录1 绪言 11.1 课题背景 11.2 课题研究的意义 11.2.1 课题的现实意义 11.2.2 课题的学习意义 11.3 国内外概况 11.3.1 比价系统国内外发展概况 11.3.2 HTML解析国内外发展概况 21.4 课题重要内容 31.4.1 课题任务 31.4.2 毕设重要内容 32 系统设计方案 42.1 两种系统设计方案 42.1.1 方案1 数据库法 42.1.2 方案2 即时爬取法 52.2 方案选择 62.3 开发技术与开发环境 62.3.1 JSP技术 62.3.2 HTML解析技术Jsoup简介 72.3.3 系统开发环境 73 系统总体设计 83.1 系统总体架构 83.2 每层简要设计 94 系统具体设计与实现 114.1 系统功能简介 114.2 数据爬取层设计与实现 114.2.1 爬取商品列表 114.2.2 爬取商品基本信息 134.2.3 爬取分页有关信息 194.3 业务逻辑层和视图层设计与实现 214.3.1 业务逻辑层 214.3.2 视图层 214.4 系统性能与成果分析 244.4.1 系统设计对性能的影响分析 244.4.2 并发访问性能分析 255 总结与展望 255.1 总结 255.2 展望 26道谢 27参照文献 28附 录 291 绪言1.1 课题背景近几年来电子商务行业进入了迅速发展的时期,国内不断有公司涉入电子商务行业。
以淘宝为代表的电子商务网站发展迅速,这些电商网站变化了人们的购物习惯这些电商网站给顾客带来了便捷的购物体验,人们越来越倾向于到电子商城购买自己想要的商品但是,目前流行的购物网站大多数都是以销售自己网站的产品为主的、专有型购物网站(如淘宝网),而缺少与其她购物网站对比来显示自己网站优势的功能这样的网站有诸多的局限性网站的出名度会影响网站的访问量,例如出名度低的网站,顾客有也许不会去访问,或者主线就不懂得这些网站的存在,这就会使这些购物网站上店家的商品资源得不到有效的运用在此背景下,比价服务应运而生比价网站可以较好地应对上文中提到的问题1.2 课题研究的意义1.2.1 课题的现实意义当顾客需要购买一件商品时她需要面临一种选择,即在哪个网站购买自己想要的商品,在这个时候顾客会在各大电商网站中逐个搜索自己想要购买的商品,哪个网站提供的商品性价比最高,顾客就会选择这个网站进行交易顾客在各大网站搜索和比较商品无疑是一件费时费力的事情,频繁得在各大电商网站之间切换,不能很直观的看到这些商品之间的差别此外,顾客多会在某些较大的电商网站例如淘宝、京东等搜索自己想要购买的商品,却忽视了其他规模较小的电商网站,顾客在不知不觉间就丢失了某些重要的信息。
为了应对以上问题,开发一种比价系统是很有必要的当顾客需要购买一件商品时,只需要在比价网站搜索自己想要的商品,比价网站会将各大电商网站的商品信息在同一种页面呈现给顾客,顾客可以直观的看到各大电商网站的商品价格差别,同步也能获取其他不出名购物网站的商品信息,有助于顾客完毕交易比价系统对于顾客和卖家都是有利的,非常有价值去实现这样一种具有比价功能的系统1.2.2 课题的学习意义Web系统开发在目前是一种非常热门的领域,越来越多的程序员都在涌向Web开发领域因此,熟悉某些Web开发中常用的技术是非常故意义的事情Java、PHP和.net是当今Web开发中最常用的技术本系统将采用Java来开发,同步理解Java开发Web系统的流程,熟悉Java开发的某些常用技术,对自己后来的发展是很有协助的,因此开发一种这样的基于Web的网络购物比价系统可以提高自己的竞争力,也可觉得将来从事此行业铺好道路1.3 国内外概况1.3.1 比价系统国内外发展概况互联网技术的浮现和发展极大以便了人们对信息的获取,国外互联网浮现的较早,对价格比较系统的研究和开发也比较早目前国外的比较购物行业已经处在较为成熟的阶段比较购物已经成为国外网购顾客必须借助的网购工具,也成为B2C 商家不可或缺的合伙伙伴。
国内比较购物网站起步的比较晚,始终到 年,随着互联网的普及,比较购物网站才开始兴起,但是发展到目前,国内也已经浮现了不少的比较购物网站和应用1.3.2 HTML解析国内外发展概况比价系统的核心在于HTML文本的解析,目前用以HTML解析的工具非常多,这些工具由多种语言开发,诸多工具均有多语言版本国内外可用以HTML解析的库相称多,重要如下:HTML Parser 该库是一种对HTML进行分析的迅速实时的解析器,最新的发行版本是2.0JsoupJsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作措施来取出和操作数据jsoup的重要功能如下:从一种URL,文献或字符串中解析HTML;使用DOM或CSS选择器来查找、取出数据;可操作HTML元素、属性、文本;jsoup是基于MIT合同发布的,可放心使用于商业项目NekoHTMLNekoHTML是一种Java语言的 HTML扫描器和标签补全器(tag balancer) ,使得程序能解析HTML文档并用原则的XML接口来访问其中的信息。
这个解析器可以扫描HTML文献并“修正”许多作者(人或机器)在编写HTML文档 过程中常犯的错误NekoHTML能增补缺失的父元素、自动用结束标签关闭相应的元素,以及不匹配的内嵌元素标签NekoHTML的开发使用了 Xerces Native Interface (XNI),后者是Xerces2的实现基本JTidyJTidy 是 HTML Tidy 用Java语言实现的版本,提供了一种HTML的语法检查器和较好的打印功能JTidy可以用来清除格式不好和不对的 HTML此外,JT。
