淘宝决策搜索引擎.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《淘宝网》决策搜索引擎 在《淘宝网》购物时,顾客最关心的就是这两个页面,因此这两个页面的信息对于顾客至关重要,这也是我的搜索引擎信息收集的地方。由于有成千上万的这样格式的页面,所以我的目标就是设计出一个爬虫引擎在《淘宝网》上不断地爬,以零下载为条件,直接将目标信息数据导入我创建的数据库中,再进行搜索。 图1 商品货物信息页面 图2 卖家信息页面 图3 商品信息页面Html源码的关键地方 综合分析这两个典型页面,我们可以得到这样的信息:大部分《淘宝网》的商品和店家信息都是依据这两个页面的格式形式存在的。所以依次便可以写出程序推断出整个《淘宝网》的数据。 图4 商品信息表字段 图5 卖家信息表字段 图6 数据库表关系图 我在网上详细查阅了有关爬虫引擎的资料和仔细挑选了开源框架后。决定使用以下几个框架作为我的爬虫引擎的主要框架。 Html Parser 这个开源框架主要用于解析Html格式的页面,这个框架的目的就是从当前页面将关键数据提取出来,从而在零下载的情况下得到数据。由于这个框架时间比较早,未免有些比较陈旧的做法,比如NodeList类没有实现Iterator接口,没有利用泛型等。以后的项目中可以替换为较新较成熟的框架。 Apache Commons Chain 在网页提取过程中,每个不同页面到底该用哪个类来负责解析呢?仔细分析后,我个人觉得使用【设计模式】中的责任链模式可以极大地降低代码耦合性,达到【软件工程】中开闭原则的效果。减少if else繁琐的判断,使代码更清晰。 iBatis 我经过对比,选择了iBatis作为DAO层的数据存储框架,由于其可以灵活的配置SQL语句,以及轻量级设计,可以让我使用一些数据库存储过程等维持外键的约束。 Apache Commons Beanutils 这个框架的BeanMap是一个很好的东西,它采用了一个反射的做法给我提供了一个可以将Map属性键值对转化为bean类的方法,利用这个类可以使页面提取出的Map中包含的数据用一个统一的方法转化为实体类,再存入数据库。 图7 爬虫引擎程序流程图 最终,得到了大量的《淘宝网》的商品和商家的数据库表中的数据,由于这个爬虫引擎利用“责任链模式”解析数据,可以灵活地扩展到其他不同结构的网页中去提取数据,在此基础上再实现搜索。(很抱歉,由于我下班后业余时间之作,时间仓促,全文搜索这部分未完成,考虑计划使用Apache Lucene开源框架做智能全文搜索框架) 图8 成果展示:商品信息数据库表 图9成果展示:卖家信息数据库表

文档评论(0)

fc86033 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档