




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于垂直搜索引擎的考研资讯采集、分析、发布、检索系统设计文档1 前言 象牙塔工作室隶属于电子科大.计算机学院.学生创新创业中心,象牙塔工作室是由电子科大学生组建的学生创业团队。象牙塔考研社区是象牙塔工作室自主开发、自主运营的创业项目。 象牙塔考研社区(),是一个以考研为主题,以“信息推送”为主要特色的社区型电子商务网站。社区其它特色:最有效的交流、最权威的资料、最及时的资讯、最优质的服务。社区发布以来,在考研学生群体中产生了良好的反馈,注册使用人数迅速增加。在考研行业中也得到了众多的业内人士的好评,在创业初期,我们已经与国内多家著名的辅导机构展开具体的业务合作,部分已经结成战略合作伙伴关系,总体发展前景良好。1、象牙塔考研社区涵盖全国几百所招生院校、科研机构的研究生招生信息、导师信息、学院信息、专业信息等。有数据量大、更新快等特点,目前采用人工的方式进行数据采集、数据录入,工作效率低下,无法保证大量数据的及时更新。2、目前站内搜索功能还不够完善,只支持标签级别的搜索。无法实现真正全文搜索。2 系统设计目标通过本课题的研究,利用搜索引擎技术自动的去采集相关数据,然后通过网页数据元提取技术,将有用信息元提取出来,直接跟象牙塔考研社区的数据库关联起来,实现数据的自动采集、自动更新。同时建立完善的站内搜索引擎,提高用户获取平台数据的友好体验。 数据自动采集保障了数据的来源,站内全文搜索引擎提供了数据的筛选手段。 通过这个项目的研究,使象牙塔社区数据的更新实现了自动化、智能化,在减少人工成本的同时保证数据更新的速度和质量。真正做到“最及时的资讯”。3 系统总体结构与设计方案3.1 操作系统的选择 Linux操作系统作为服务器端的操作系统一直是一个不错的选择,不仅仅因为Linux操作系统是一个开源的操作系统,最重要的是其稳定性非常强;而最为服务器的操作系统这是至关重要的。本系统的服务器操作系统选择的是在众多Linux操作系统中的一款,那就是CentOS5.3。之所以会选择它是因为其自带的yum管理工具,可以方便的安装和维护Linux下的很多软件。3.2 Web 服务器在B/S 模式的Web 技术中,Web 服务器既是客户端的“代理”,又是数据服务器的客户机。它将不同来源、不同格式的信息会集成统一界面,提供客户端浏览器,具有举足轻重的地位。Web 服务器的选择应考虑下列因素:与系统现有网络的配合性,与数据库服务器的结合性、开发Web 页面的难易程度、安全性和稳定性。Tomcat 是一个免费的开发源码的Serlvet 容器,它是Apache 基金会的Jakarta 项目中的一个核心项目,也是Sun 公司官方推荐的servlet 和jsp 容器,同时它还获得过多种荣誉。servlet 和jsp 的最新规范都可以在tomcat的新版本中得到实现。 Tomcat 具有轻量级和灵活嵌入到应用系统中的优点,所以得到了广泛的应用。Tomcat 在管理Servlet 方面非常出色。因此,本系统选择omcat6.0 作为Web 服务器。3.3 数据库服务器MySQL是一个小型关系型数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。3.4 系统设计系统结构图1、 爬取网页系统利用开源爬虫框架Heritrix定向采集网页信息。 Heritrix的结构框架如下图所示。本系统将在Heritrix框架的基础上,对其进行功能扩展,开发面向垂直搜索的聚焦爬虫。Heritrix具有良好的可扩展性,针对中小型企业级应用,在成熟爬虫框架的基础上进行扩展开发不仅可以节省大量开发成本、降低了技术风险,同时还能达到事半功倍的效果。 针对聚焦爬虫的特性,我们将在以下几个方面对Heritrix进行扩展36。(1) 定制自己的Extractor处理器:针对聚焦爬虫的特性,我们可以定制与实际垂直搜索应用场景相匹配的专用Extractor处理器,该处理器类应该有以下功能:(a) 对所有不含有要抓取的结构化信息页面的URL、又不含有可以集中提取前者URL的种子型URL,都不作处理。(b) 可以集中提取含结构化信息页面URL的种子型URL(如产品类目URL),提取全部的含结构化信息页面的URL(如产品信息列表URL)。(c) 从含结构化信息页面的URL提取所需的结构化信息,并加以记录。(2) 定制Queue-assignment-policy提高并发性:Heritrix使用Berkeley DB来构建链接队列,链接队列被放置于BdbMultipleWorkQueues 中时,总是根据链接名生产一个KEY, 然后把KEY值相同的链接放在同一个队列中。默认情况下,Heritrix使用HostnameQueueAssignment(把Host名当做KYE值)来生成链接的KEY值。这样设计主要是满足广域网多网站同时抓取的需求。用在垂直搜索时这就产生一个弊端,垂直搜索有时面对一个网站抓取,当链接都来自一个网站时,所有的链接将会被放在到一个队列里。由于在Heritrix中,一个线程在一个队列中取出一个URL处理,在处理完这个链接前,链接队列会一直处于阻塞状态,导致其他线程无法获取其中的URL,这样就限制了多线程的发挥。实际运用时,可以通过定制Queue-assignment-policy,继承QueueAssignmentPolicy,并覆盖其中的getClassKey(),采用其他有效的散列算法来解决这个问题。 (3) 扩展FrontierScheduler抓取特定的内容:FrontierScheduler是一个PostProcessor,它的作用就是将在Extractor中所分析得出的链接加入到Frontier中,以待继续处理。扩展的目标就是将上面所需的种子型URL或从含结构化信息页面的URL加入Frontier组件的等待队列之前进行过滤。比如人为的去除某种符合条件的URL链接。(4) 在Prefetcher中取消robots.txt的限制,提高爬行速度。当一个网站没有robots.txt 文件时,Heritrix总是要花大量的时间去尝试访问这个文件,无疑降低了爬取的效率。在Heritrix中,对robots.txt文件的处理来自PreconditionEnforcer这个Processor中,PreconditionEnforcer是一个Prefetcher,在每次处理时总是需要先判断该URL链接是否满足什么先决条件,而对robots.txt的访问则是其中工作之一。这就需要花费大量的资源来判断这个先决条件。robots.txt本身只是一种附加的协议而已,为了提高爬取效率,实际运用时可以取消robots.txt限制。种子站点选择方案选取种子站点的时很重要的原则就是这个站点是否权威、资讯更新是否及时、信息是否准确、信息是否全面。另外从技术角度来看,还需要考虑以下几点: (1) 网站对网络蜘蛛是否友好。因为个别网站使用了反网络蜘蛛技术,防止未经授权的网络蜘蛛对网页信息进行抓取。(2) 网站的信息是否使用了Javascript技术。由于Web20方式的普及,越来越多的网站使用了Ajax技术来动态生成内容。这种动态内容需要在浏览器中运行时生成,网络蜘蛛往往只能获取页面框架,无法获取完整页面。(3) 网站的页面结构、URL结构应该比较稳定,不经常变动,这样有利于分析网页、解析网页数据。2、 提取关键信息常用的网页信息提取方法:正则表达式法、HTMLParser提取法。HTMLParser是一个纯java写的开源的html解析库。它不依赖于其它的java库文件,主要用于改造或提取网页数据。具有处理速度快、健壮性等优点。HTMLParser结构设计灵活, 具有很好的扩展性。HTMLParser几乎为HTML文档中可能出现的标签都定义了类。 HTMLParser可以修改每个标签的属性或者它所包含的文本内容并生成新的HTML文档。 利于HtmlParser提供的方法可以非常方便的解析html。可以采用visitor遍历Html节点提取数据,也可以采用Filter来过滤节点,提取出我们所关注的节点,再对节点进行处理。通过这样的组合一定能够找出我们所需要的信息同。通过分析我们发现正则表达式法可以通过自定义正则模式精确的提取网页文本信息。但是正则表达式的缺点非常明显,首先编写、调试正则表达式的过程比较繁琐,其次,正则表达式的通用性较差,需要针对不同的网页定制正则模式。HTMLParser提供了比较高级的API函数。不需要去做大量繁琐的正则匹配过程,大大的提高了提取程序的开发效率。在本系统中关注的旅游景点信息、旅游路线信息、景区异常东西等信息具有非结构化的特点,没有固定的表现形式。信息往往蕴含在大段的文字中间。通过程序完全自动提取的可能性很小,对于有些比较重要的信息,我们往往通过人工审阅,提取的方式进行最终确认、录入。通过分析我们发现正在的正文一般是不会设置链接的,在正文页面中文字、图片链接往往是新闻列表或者广告。为了降低人工审核的工作量,提取程序尽量去除无用的链接列表、图片,保留网页主体文字。 网页信息提取如图3-4所示。 图 网页信息提取内容图HTML是一种标记语言,HTML文件由一些元素(节点)组成,绝大多数元素由一个起始标记开始,以一个结尾标记结束,起始标记与结尾标记之间的部分是元素体。结合HTML的这一特点,对某一页面的提取流程设计如下:1、获取网页所有节点列表,获取整个网页的所有主要内容。2、设置节点过滤条件,初始化NodeFilter对象,筛选出包含上图所示标签的节点列表。3、对节点进行过滤,筛选出满足条件的节点,并提取对应的内容。4、对内容进行保存等待进行下一步处理。 3、 信息的索引与搜索Lucen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 婚后财产补充协议
- 沈阳转让协议书
- 精密机械零部件加工与质量保证合同
- 软件售后维保合同协议
- 股权转让及合作协议
- 幕墙石材钢架施工合同
- 产品采购供应合同附加条款
- 赠送贴纸定制合同协议
- 车撞人协议书范本
- 跟员工提前合同解除协议
- 陶艺店管理制度
- 2025-2030中国储能电站行业市场深度分析及前景趋势与投资研究报告
- 2025年标准租房合同范本
- 三元空间下个人化IP综艺《灿烂的花园》叙事与价值研究
- 2025届安徽省池州市普通高中高三教学质量统一监测政治试卷含、答案
- 《汽车博览会》名师课件2
- 学校食堂“三同三公开”制度实施方案
- 海南2025年海南热带海洋学院招聘113人笔试历年参考题库附带答案详解
- 2024-2025学年人教版(2024)七年级英语下册Unit 6 rain or shine Section A 2a-2e 教案
- 比较文学形象学-狄泽林克
- 商业地产运营管理规章制度
评论
0/150
提交评论