互联网上农业信息资源的收集与推广研究_第1页
互联网上农业信息资源的收集与推广研究_第2页
互联网上农业信息资源的收集与推广研究_第3页
互联网上农业信息资源的收集与推广研究_第4页
互联网上农业信息资源的收集与推广研究_第5页
已阅读5页,还剩51页未读, 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名:日期:

学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期:年月日导师签名:日期:年月日

注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神□优□良□中□及格□不及格2、学生掌握专业知识、技能的扎实程度□优□良□中□及格□不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力□优□良□中□及格□不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性□优□良□中□及格□不及格5、完成毕业论文(设计)期间的出勤情况□优□良□中□及格□不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)指导教师:(签名)单位:(盖章)年月日

评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格建议成绩:□优□良□中□及格□不及格(在所选等级前的□内画“√”)评阅教师:(签名)单位:(盖章)年月日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况□优□良□中□及格□不及格2、对答辩问题的反应、理解、表达情况□优□良□中□及格□不及格3、学生答辩过程中的精神状态□优□良□中□及格□不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□优□良□中□及格□不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□优□良□中□及格□不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□优□良□中□及格□不及格2、论文的观念是否有新意?设计是否有创意?□优□良□中□及格□不及格3、论文(设计说明书)所体现的整体水平□优□良□中□及格□不及格评定成绩:□优□良□中□及格□不及格教研室主任(或答辩小组组长):(签名)年月日教学系意见:系主任:(签名)年月日绪论1.1.研究的背景如今,国家信息化发展战略的重要一环是推进面向“三农”的信息服务,利用信息技术改造和提升农业产业化发展。农业和信息化的结合,已经成为农业现代化的发展趋势,农业信息服务体系已经成为现代农业服务体系的重要组成。近年来,国家多个部门、科研院所及广大的农业科学研究者、管理者、农业技术人员都在从事农业信息服务体系方面的研究,相关的成果越来越多,从而促进了农业信息服务体系较快的发展,农业网站越来越多,农业信息化基础设施也越来越完善。北京市农业局信息中心通过相关问卷调查发现,从现有的农业信息服务系统的整体效果及实际运行情况来看,无论其内容还是合力,相对于农业现代化和信息化的发展需求都还存在着不小的差距。农业信息服务还存在两个核心的问题:信息资源缺乏的问题。多年来的农业信息服务体系更多注重电脑、网站等看得见的硬件基础建设,信息资源这个费心费力又看不见的工作做得不足。调查显示,农业生产经营主体最需要的信息包括:农业政策类信息、实用技术培训信息、\o"农产品000061"农产品市场信息、非农就业信息等。信息服务落地的问题。多年来的农业信息服务体系更多注重信息高速路的建设,而忽略了农业生产主体能否真正享受到信息服务。调研发现,仅有20%的农业生产经营主体习惯从网站上搜取信息,更多的则是通过电话、手机等。因此,我国急需对互联网上的农业信息资源的整合利用进行理论研究,并建立一种整合互联网上农业资源的信息搜集整理和推广的系统,以促进信息共享和利用,并满足农业工者多样化的信息需求,使农业信息资源网能够提供大量经过分析后筛选出的、符合农业工作者需求的有效信息资源,为我国农业工作者及从事相关产业的人员在网上集中快速地查找农业信息提供高质量的服务,为我国农业信息化的发展提供技术支持。1.2.国内外研究现状 在农业信息化的发展进程中,每个国家的发展程度都不竟相同,我们以美国为代表来了解国外农业信息化的发展程度。美国是世界电子信息产业大国,信息技术和高度发达,因此,它是在市场和社会的农业信息需求作为一个整体的信息技术同步发展。美国农业和信息化建设是分不开的。在农业信息化建设上,美国采取了政府投入与资本市场运营相结合的投资模式。为给农业信息化创造良好的发展环境、推动其快速发展,美国政府通过政府辅助、税收优惠和政府担保等提供一系列优惠政策,围绕市场建立了强大的政府支撑体系,刺激资本市场的运作。政府是通过构建了庞大、完善、规范的农村信息服务体系,如美国国家农业数据库(AGRICOLA)、国家海洋与大气管理局数据库(NOAA)、地质调查局数据库(USGS)等规模化、影响大的涉农信息数据中心(库),加强农业信息化建设让农业和农民受益,而不是直接大量的对农产品生产进行补贴和财政转移支付。对于政府拥有和政府资助的数据库中,“全面公开”共享政策的建设,而且还预留十亿美元的资金每年维护农业信息的农业信息系统。在农业信息资源管理中,建立了完整的法律管理体系,整个过程涵盖了信息资源的收集,信息资源发布,从而保证知识产权及其他信息的真实性和有效性,保障信息主体权益管理,同时有效促进农业信息资源的共享。在我国已有将近97%的地级市和超过80%的县级农业部门相继设立了信息化管理和服务机构,农村信息员的队伍已超过18万,可直接向农民传递信息,从上到下的农业信息化队伍已经初具规模,从中央到地方的农业信息组织体系也正在形成;建立了以中国农业信息网为核心、包含20多个专业网站的一体化农业门户网站,较为著名的有“科技教育信息网”和“种植业信息网”等;农业部在全国累计布设了8000多个信息采集点,在农业、畜牧、水产、农垦、农机等领域形成了33条信息采集渠道,开发了农村供求信息全国联播系统;国家电了政务重点工程“金农工程”启动,以政府农业部为基础的、由行政管理服务体系、农业图书情报服务体系和民问团体组织形成三层服务体系。刘广路刘广路等.丛生竹生长特性及管理技术研究进展[J].竹子研究汇刊.2011(03)1.3.目的和意义1.3.1.研究的目的针对互联网农业信息资源的整合与利用过程中存在的问题,运用搜索引擎技术、数据库技术、RSS信息推送等技术,设计出一个信息收集、整理和推广的模型和体系结构。本论文研究的重点在于利用搜索引擎技术来实现农业信息的搜索及建立基于农业信息为主题的数据库,为农业信息的自动收集和主题化建设进行一些有益的研究工作。1.3.2.研究意义(1)研究的理论意义本论文试图通过对农业信息收集和推广这一主题,构建一个基于特定主题的搜索引擎体系结构,对于收集到的农业信息数据,通过RSS进行信息推送及利用。为农业工作者获取互联网上农业信息资源和建设农业信息资源数据库提供理论依据。(2)研究的现实意义利用搜索引擎对农业信息进行自动的搜索可以有效地搜集互联网上的农业信息资源,并对这些资源进行分析整理后建立农业信息资源数据库,为我国广大的农业科学研究者、管理者、农业技术人员利用农业信息提供便利,加快我国农业信息化建设的步伐。技术分析与系统设计本课题目的是对全球互联网上的农业信息资源的搜集、整理与推广进行研究,需要利用现在比较流行的主题搜索引擎技术及数据库等相关技术,先对这些技术进行相应的研究和说明,最后构建一个农业信息主题的主题搜索引擎体系结构。2.1.搜索引擎研究搜索引擎指自动从因特网搜集信息,经过一定整理以后,提供给用户进行查询的系统方伟,黄坚钦,卢敏,等.17种丛生竹竹材的比较解剖研究[J].浙江林学院学报,1998,15(3):225-231方伟,黄坚钦,卢敏,等.17种丛生竹竹材的比较解剖研究[J].浙江林学院学报,1998,15(3):225-2312.1.1.搜索引擎分类搜索引擎的产品非常多,他们的工作方式也多种多样,按搜索引擎的工作方式可以把搜索引擎分为三类:全文搜索引擎、目录搜索引擎和元搜索引擎方伟,黄坚钦,卢敏,等.17种丛生竹竹材的比较解剖研究[J].浙江林学院学报,1998,15(3):225-方伟,黄坚钦,卢敏,等.17种丛生竹竹材的比较解剖研究[J].浙江林学院学报,1998,15(3):225-231(1)全文搜索引擎全文搜索引擎是真正意义上的搜索引擎,它最主要的部件就是检索程序,俗称“网络蜘蛛(Spider)”或“机器人(Robot)”或“网络爬虫(Crawler)”,检索程序会自动访问互联网上的网站和网页,提取网页中的URL、标题、摘要等关键信息,把这些信息存储在索引数据库中。当用户从检索界面发出查询请求时,将在索引数据库中检索数据并按一定的排列顺序返回结果。全文搜索引擎是目前广泛应用的主流搜索引擎,国内的全文搜索引擎最具代表性的是百度搜索引擎,还有360搜索、有道等等。国外的全文搜索引擎最具代表性的是Google。还有一种全文搜索引擎也具有自己的检索程序,但是它没有建立自己的索引数据库,这种搜索引擎租用其他搜索引擎的数据库,在用户查询的时候检索其他搜索引擎的数据库,将结果按一定的格式返回给用户。这种搜索引擎的代表是Lycos搜索引擎。搜索引擎自动访问互联网摘录网页信息,它自动访问网站的方式可以分为两种:一种是每隔一段固定的时间(比如Google一般是28天),搜索引擎的检索程序就对一定的IP地址段进行访问,发现新建的网站就提取网站信息存入索引数据库,如果老网站有更新的内容,检索程序也会提取新的信息覆盖索引数据库中旧的信息。另一种搜索方式是被动搜索,也即网站所有者向搜索引擎主动提供网址,希望搜索引擎能访问网站,提取网站信息,并保存到索引数据库,那么在在用户查找界面就可以通过查询找到网站地址和信息。当网站所有者提供网址之后,一般在两天到数月的时间,搜索引擎的检索程序就会访问网站,提取网站摘要信息并存入索引数据库。当用户用端浏览器打开搜索引擎的查询界面时,可以用关键词查找信息,用户的查询请求将会被服务器端程序接收,然后在索引数据库中进行查找,如果找到与用户查询要求相符合的结构,便根据相应的排序规则将结果返回客户端。全文搜索引擎的一个最大特点就是搜全率比较高。(2)目录搜索引擎目录搜索引擎虽然被分在搜索引擎的范围中,但是它不是真正意义上的搜索引擎。目录搜索引擎应该被成为目录索引更为贴切。目录索引,就是将网站按照某种分类法归于相应的目录中,所有的网站都被分门别类的进行存放。目录搜索引擎虽然没有全文搜索引擎中的网络爬虫(Crawler)程序,但是它和全文搜索引擎相比也有其独到的地方:第一点不同在于全文搜索引擎是自动搜索网站,不管是根据IP地址段还是用户提供的URL地址,全文搜索引擎都有网络爬虫(Crawler)程序对网站进行自动索引。而目录索引没有网络爬虫(Crawler)程序,登录网站信息全靠手工操作。登陆网页信息一般有两种方式:一种是登陆系统会提供一个提交界面,用户在此界面输入网站信息,目录收录人员会核实提交的信息,然后根据评判标准和收录规则决定是否接纳用户的网站,并把它归入哪一个类别。还有一种是目录收录人员对网上新发布的网站进行主动的收录和分类。第二点不同在于全文搜索引擎在访问网站后,收录网站信息进入索引数据库比较简单容易,只要没有违反相关的规则(例如含有敏感词或反社会言论等待),一般都能索引成功,并且会自动进行分类索引。而目录索引时,目录收录人员对网站的审核一般都会比较严格,有时候根据它的要求进行多次修改也不一定能索引成功。特别是像Yahoo这样全球影响的super目录索引,要成功索引更是相当困难。更有甚者,如果目录收录人员认为用户提交网站的目录、网站信息不合适,他可以随时对其进行调整,当然事先是不会和网站所有者商量的。第三点不同在于在全文搜索引擎收录网站的时候,一般不用考虑网站分类的问题,直接把网站信息存入索引数据库就可以了。而目录索引中,为网站找到一个合适的分类非常重要,必须将网站分到一个最合适的目录(Directory)中。第四点不同在于用户在使用全文搜索引擎查找信息时,一般是通过关键词(Keywords)进行查询。而目录索引中进行查询,不光可以通过关键词,还可以根据分类目录(或者导航)进行一级一级的查询,直到找到所需的信息。目前,目录索引中最具代表性的搜索引擎,国外的有大名鼎鼎的Yahoo,国内的有新浪分类目录搜索等。(3)元搜索引擎元搜索引擎(MetasearchEngine)是一种非常特别的搜索引擎,与全文搜索引擎相比,它没有网络爬虫(Crawler)程序,甚至没有搜索部件和搜索功能,但是它却被称为“搜索引擎之母(Themotherofsearceengines)”。元搜索引擎相当于一个搜索任务的接收和分配器或者是一个总开关,元搜索引擎整合了多个独立搜索引擎,并能够调用、控制这些独立搜索引擎,能对搜索效率和资源使用情况进行优化利用和整合。被整合的独立搜索引擎通常被称为“源搜索引擎”(sourceEngine),或“搜索资源”(searcingresources)。元搜索引擎的工作原理参见图2-1。元搜索引擎可以被理解成一种客户机/服务器结构的系统,但不同的是它是一种双层的客户机/服务器结构。在图中,客户端元搜索引擎是一层客户机/服务器结构,元搜索引擎其他搜索引擎是第二层客户机/服务器结构。图2-1元搜索引擎工作原理当用户使用向元搜索引擎,在客户端浏览器上发送查询请求,服务器端的元搜索引擎会把该请求发送到多个源搜索引擎中,源搜索引擎执行用户的请求,检索数据库,返回检索结果给元搜索引擎,元搜索引擎将多个源搜索引擎返回的结果进行整合(除重,合并),并以一定的排序方式传送回客户端浏览器。2.1.2工作原理(1)普通搜索引擎的工作原理搜索引擎的基本工作原理包括如下三个过程:1、抓取网页。每个独立的搜索引擎都有自己的网页抓取程序(spider网络蜘蛛,或称Robot网络机器人,或称Crawler网络爬虫)。网络爬虫首先访问种子网页,从中提取URL,然后根据这个地址继续访问,继续提取URL,一直不停的循环下去。通过这种方式,Internet上的绝大多数的网页都能被访问到。2、网页分析和处理。对于网络爬虫访问过的网页,要对它进行大量的分析和处理工作,网页去重,去除噪声,提取文本,停用词去除,特征向量提取和分析,相关度评价,计算网页的重要程度,建立索引,存入数据库,然后才能提供检索服务。3、检索服务。网页信息存入数据库后,要建立索引文件,提供快速查询。这样用户在检索界面输入检索词进行检索,搜索引擎能通过索引快速查找数据库中的信息,并显示在用户界面。为了方便用户使用搜索引擎,用户界面的设计应该简单、方便使用。网络爬虫(Crawler)是传统的搜索引擎中的重要组成部分,为搜索引擎从万维网上下载网页。网络爬虫从一个或若干个种子网页开始,从种子网页中提取URL地址,抓取URL指向的网页,再从其中提取URL地址,再抓取指向的网页,不断的重复这一过程,直到满足系统的停止条件为止。并且在访问网页的过程中,不断从当前页面上抽取新的URL放入URL队列。网络爬虫的工作流程如图2-2所示。(2)主题搜索引擎的工作原理主题搜索引擎的核心部分是主题爬虫(TopicalCrawler)又称为聚焦爬虫(FocusedCrawler)方伟,黄坚钦,卢敏,等.17种丛生竹竹材的比较解剖研究[J].浙江林学院学报,1998,15(3):225-231,主题爬虫的工作流程和传统爬虫的基本相似,但是要多出一些步骤。在遍历网络方面基本相同,可以采取适合的遍历策略,在遍历页面以后,传统的爬虫提取页面中的URL并放入继续遍历队列,而主题爬虫会根据相应的URL算法分析评价URL的重要程度,把重要程度高的URL放入等待抓取的遍历队列,主题爬虫根据队列里的URL再进行网页遍历和抓取,并重复上述过程,直到满足爬行方伟,黄坚钦,卢敏,等.17种丛生竹竹材的比较解剖研究[J].浙江林学院学报,1998,15(3):225-231对于抓取到的网页,搜索引擎中有专门的功能模块来对网页进行处理,对网页的有效内容进行提取,对网页内容进行分析和特征词提取,对特征词向量化,对向量化的特征词和主题词进行分析比对等等,以确定抓取的网页是否主题相关,并把相关的网页存入索引数据库,供用户查询使用。主题爬虫的工作流程如图2-3所示:图2-2搜索引擎工作原理图2-3主题搜索引擎工作原理我们用表格来列出主题爬虫与传统爬虫的区别:表2-1主题爬虫与传统爬虫的区别传统爬虫主题爬虫用户面向所有用户面向特定的专业人群爬虫策略一般是广度优先爬行策略,遍历一定IP地址范围内的所有网页一般采用最佳优先爬虫策略,遍历的时候与主题对比,保留关联度高的网页主题范围面向所有的主题面向特定的主题硬件要求对服务器和存储设备要求较高对服务器和存储设备要求比较低主题爬虫与传统爬虫的爬虫策略如图2-4所示,其中,白框代表与主题无关的页面,黑框代表主题相关页面,虚线代表链接,箭头代表访问线路。图2-4传统爬虫和主题爬虫遍历策略对比在图2-4(a)中,传统爬虫一般是以广度优先策略遍历网页,循着网页中的URL指向访问每一个网页。假设从起始网页i到目标网页k需要爬行n步,那么在访问到目标网页前必须先将n-1步内的所有网页爬行完,爬行的步子将会是N步,且N远大于n。在图2-4(b)中,主题爬虫在访问网页之前先会把指向网页的URL进行分析,评价URL的主题相关性,忽略主题无关的URL。假设从起始网页i到目标网页k需要爬行n步,那么在访问目标网页前仅爬行n-1步,也就是网页i与k之间的一个网页子集。在最理想情况下只要爬行n个链接就可以访问到目标网页,大大节约了爬行时间,提高了爬行效率。2.2.数据库技术2.2.1SQLServer2005SQLServer关系模型最早是由Ashton-Tate及微软共同设计开的数据库管理系统,早在1970年,相关领域专家就已经提出了相关联系的关系模型。IBM是最早开发、使用SQL语言的公司,据相关记载,IBM于1976年年底正式对外公布使用SQL语言。SQL语言在1970年末由Oracle公司作为商品在市场中进行销售。八十年代中期,美国国家标准协会将SQL定位标准语言,而后各个国家相继效仿,SQL语言国际化发展趋势日益张显出来。1998年,SOLServer才第一次出现在人们的视线,因为有了Sybase的发展基础,三大国际公司共同完成SQLServer1.0的设计制作,实现了SQL语言在OS系统上实际应用的最初发展目标。回顾SQLServer的发展史,最早Server1.11版本是在1991年提出的;1992年正式出版SQLServer4.2(由微软与Sybase公司共同设计);1993年,微软公司独立推出WindowsNT3.1,改变了服务器操作市场长期稳定的发展局面。同时开发的QLServerforWindowsNT3.1也获得用户好评;到6.0与6.5版本陆续问世后,获得的市场占有率是有目共睹的;SQLServer7.0于1998年再次发布,SQLServer7.0已经不在满足普通用户,开始在企业级数据库开拓市场;在2000年前后,SQLServer2000正式问世,2005年SQLServer2005正式与世人见面。SQLServer2005与以往的SQLServer数据库版本比较,在以下几个方面的能力大幅度提高:企业数据管理增强的几个企业数据管理方面的特征主要有五点:(1)交互操作能力。程序员可以在SQLServer2005中整合或连接数据库和相对独立应用程序,可以最大化的实现系统投资效益。并且在设备和应用以及各种不同平台之间实现交互操作;(2)比较易于管理。在该系统中,管理员对系统功能的操作可以通过最新的编程模式,包括通过自我控制能力来对数据库的日常运行进行有效管理。同时,数据库管理员可以使用其他管理工具或SQL事件探查器来将SQL服务器调节至最佳状态;(3)安全稳定性。为了保证网络运营环境的安全,可以通过加密、设立安全模型及提高安全防控等措施加大安全管理力度,提高系统运行环境的稳定性;(4)较强的伸缩特征。即使是比较复杂的程序,如果是运用SQLServer2005语言进行开发,由于支持64位等相关优势,虽然结构复杂且要求严格,但系统的优越性也是比较突出的;(5)可用性。故障时间在改进联机操作、故障转移群集以及数据库镜像等可用特性下降到最低,这将有利于随时访问或调用企业数据系统。开发人员生产力(1)CLR(CommonLanguageRuntime)集成。公共语言运行库是Microsoft.NETFramework的核心组成部分,公共语言运行库为.NETFramework提供了相应的代码执行条件。CLR中运行的代表即是通常所指的托管代码,CLR也会为各种执行程序提供相应的函数与服务,如在线管理、处理异常、内存清理等功能。(2)XML的集成。自从MicrosoftSQLServer2005问世后,XML数据处理方式从中得到众多发展优势。所有的XML值都可以轻松的存储在XML数据类型列中,相应类型也可以在XML列中进行添加。细粒度的数据操作在XMLDML以及XQuery中是被支持的。在SQLServer2005中,可以进行存在的XML数据种类繁多,例如,在表中分散的XML数据与原生的XML数据都是可以进行存储的。(3)增强Transact-SQL。Transact-SQL语言的拓展性在近阶段内得到很大增强。例如,处理错误的能力有了明显提高,且可以进行递归查询。(4)SQL代理服务器。如果把SQLServer代理认为是一个比较完善的报警管理系统,这样一个周期内必须完成的工作就可以定义为一个主要任务,并可以进行自动执行。图2-7即是SQLServer代理属性对话框反应图。在SQLServer管理平台上实现SQLServer代理通常经过一下几个过程:通过高级页选择进入报警系统页,修改相应的报警设置,连接相应的作业系统页,最后在历史页中可以查到相关浏览信息。商务智能增大商务智能化、提高编程工作效率及管理数据库系统是SQLServer2005版本最大的功能优势,是在SQLServer2000基础上,对原有功能进行全面改进。现在应用最广泛的便是SQLServer2005。针对SYBASE与ORACLE而言,SQLServer2005具有的兼容优势更为明显,且功能比较强大,安装及实际的操作过程都有了明显的便携性改善。第一,分析服务;第二,数据传输服务;第三,报表服务;第四,数据挖掘。通过引进新的数据挖掘运算法,使得对于数据挖掘的使用变得简单易用。2.2.2.ADO.NETADO.NET是目前微软最为常用的数据库存取技术,他取代了以前开放数据库连接架构ODBC的地位,ADO对象是程序与数据库之间的沟通桥梁。ADO.NET的早起版本ADO产生原因是为了存取数据库,而ADO.NET是目前能够在高度分布式应用环境下的大规模数据访问和控制的技术。ADO.NET技术是对之前ADO技术的延生,相比上一版本,ADO.NET具有更加出色的性能、更加方便的可维护性等。ADO.NET是面向创建式分布式数据共享音应用程序的编程模型REF_Ref335079142\r\h。,通过对数据集概念的引入,使得其处理能力大大加强;同时对XML技术的整合,使得ADO.NET在数据存取上的性能有了较大的提高。如果需要访问数据库数据,则可以使用其提供的API即可轻松实现。ADO.NET技术是可以支持跨平台间访问操作的,即使类型不同的数据库或数据源,ADO.NET也是可以支持彼此交互作用的。通常,组成ADO.NET的元素共有两大部分,详细情况如图2-5所示:DataSet.DataSet.NETFramework数据提供程序DataAdapterConnectioDataAdapterConnectionDataTableCollection数据表事务SelectCommand事务SelectCommandDataDataRowCollectionInsertCommandDataColumnInsertCommandDataColumnCollectionConnectionConstrainCollectionUpdateCommand事务ConstrainCollectionUpdateCommand事务DataRelationCollectionDeleteCommandDataRelationCollectionDeleteCommandDataReader数据库XML数据库XML图2-5ADO.NET结构1、DataReader如果在Ado.Net的对象位置只是输入数据流,则数据库检索需要采用DataReader的形式。如果使用DateReader中的Read方式进行请求发送,查询结果会自动存储在客户端的缓存位置,并且系统会自动返回相关操作界面。因为使用这种方法如果数据有用,就会马上检索此数据,不会只是等待全部结果的返回,所以节约了很多时间,应用程序的性能被显著的提高。除此以外,这种方法在默认情况下一次在内存中只存储一行,这样系统的开销就会被大大的降低。因为在内存中不存在数据,因此DataReader是一种很好选择,尤其在对海量数据进行检索时。2、DataSet作为Ado.Net的对象,DateSet是一种典型的数据驻留表达样式。无论DataSet内部的数据来自哪里,系统都会根据彼此关系构建相应的程序编制模型。所有的DataSet都是不同的数据集,表间关系及数据排列在此数据集中都可以全面的体现出来。DataSet内部也包含DataRelation的重要组成部分,DataRelation可以清楚的表达各个表单之间存在的主要关系,及整体数据库设计包含的所有约束条件。使用DataSet进行数据源使用访问时,通常要经过以下几个过程:首先,DataAdapter对象的建立,即使只有一个数据需要进行查询,制定SelectCommand也是非常必要的,之后在进行DataAdapter内容的扩充。如果需要进行相关位置的数据删除,则需要在DataAdapter的相应位置输入系统指令就可以完成相应操作。2.3.其他技术2.3.1.ASP.NET技术ASP即是动态服务器主页的简称,是一种比较特殊的编程语言,且JAVA与VB在ASP背景下都是可以正常使用的。市面上拥有的ASP版本种类,ASP.NET就是比较典型的一个。在.NET基础上对编程环境进行约束,Java及VB都可以在服务器上成功运行。通常,在ASP.NET环境下,JAVA及C#都是可以被当作编程软件进行程序编写的。在ASP.NET环境下进行程序设计,XMLWebServices及Web窗体都是可以正常使用的,甚至采用二者综合方式进行编程都是被允许的。对于应用程序而言,同一个结构可以进行相关的缓存配置,包括安全身份认证,以满足不同客户的实际需求。ASP.NET逻辑结构如图2-6所示:图2-6ASP.NET逻辑结构2.3.2.HTML语言HTML(HyperTextMark-upLanguage)是超文本标记语言的缩写,由TimBerners-Lee于1990年提出,用于描述超文本文档的语言规范,是目前Web上通用的描述语言。HTML语言通过标签组来标记网页中要显示的各个部分,其本身是一种文本文件,通过在其中添加特定的标签组,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。在HTML文本中包含了所谓的“超级链接”点(即URL),通过激活(点击)它,可使浏览器方便地获取新的网页。超链接还可以把爬虫程序引导到其他的Web页面,这也是聚焦爬虫能不断访问网络的基础。这就是HTML获得广泛应用的最重要的原因之一。HTML页面通过IE或其他浏览器显示在用户面前。浏览器按顺序读取HTML网页文件,然后解释HTML代码并显示其标记的内容,HTML页面包含的代码主要有:=1\*GB3①HTML标签组:在HTML文档中以字符“<”开始,字符“>”结尾的字符串就是HTML语法标记,标记符是成对出现的。=2\*GB3②URL:URL地址是超链接(Link)的一部分,他们的关系如下图所示:图2-7页面及链接结构示意图超链接包含两个部分,一部分是Text(锚文本),还有一部分就是URL。要从超链接中提取URL,要在上HTML代码中,寻找标签<href=……>、<src=……>、<background=……>、<code=……>等,提取href=、src=、background=、code=等符号后面的URL地址。=3\*GB3③文本:HTML文档中的文字部分即是文本。这一部分是需要从HTML文档中提取的内容。2.3.3.RSSRSS(ReallySimpleSyndication,简易信息聚合)是一种基于XML标准,是使用最广泛的XML应用,在互联网上被广泛采用来进行内容包装和投递协议。RSS搭建了信息迅速传播的一个技术平台,有利于让用户快速获取最新更新的信息。RSS用XML来对网站的内容进行描述和同步,并且在网站和用户之间搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。RSS目前广泛用于网上新闻频道及信息推送服务网站,主要的版本有0.91,1.0,2.0。用RSS订阅新闻,信息将被XML加工和封装,按标准格式进行传递,用户可以在客户端借助于支持RSS的聚合工具软件,在不打开网站内容页面的情况下阅读支持RSS输出的网站内容。2.4.相关算法2.4.1.搜索策略网页的搜索策略可以分为深度优先、广度优先和最佳优先三种。深度优先策略由于其设计上的缺陷,会经常性的导致爬虫的陷入(trapped)问题,现在的搜索引擎已经很少使用了。目前常见的是广度优先和最佳优先方法。广度优先搜索策略广度优先搜索策略是指在抓取过程中,在完成当前层次的搜索后,才进行下一层次的搜索。该算法的基本思想如下:(1)给定一个起始网页,首先访问起始网页,读取网页里链接指向的地址;(2)依次访问链接指向的网页,然后分别从这些网页指向的链接出发广度优先遍历网页,直到所有的链接都被访问过;(3)若此时网页中尚有链接未被访问,则另选链接中一个未被访问的地址作为起始点,重复(1)、(2),直到网络中所有网页都被访问到为止。如左图中,按广度优先搜索访问序列:以1为起点:1->2->4->3->5以2为起点:2->1->3->5->4广度优先策略因为其简单易实现,有很多聚集爬虫系统应用它作为搜索策略,并且将广度优先策略和网页过滤技术结合使用,先用广度优先策略抓取网页,再将其中无关的网页过滤掉。在广度优先搜索中,解答树上状态的扩展沿状态深度的“断层”进行,也就是说,状态的扩展是按它们接近起始状态的程度依次进行的。长度为n+1的任一状态进行扩展之前,必须先考虑长度为n的每种可能的算符序列。因此,对于同一层状态来说,求解问题的价值是相同的。可以按任意顺序来扩展它们,这里采用的原则是先生成的状态先扩展。只要目标状态在解答树的有限层上,广度优先搜索第一次扩展到该状态,便保证找到一条通向它的最佳路径。为了满足先生成的状态先扩展的原则,我们采用队列的数据结构存贮状态。队列是一种线性表,对于它所有的插入都在表尾的一端进行,所有的删除都在表首的一端进行。如同现实生活中的等车、买票的排队,新来的成员总是加入队尾,每次离开的总是队列头上的人,即当前“最老”的成员。因此,队列也被称为“先进先出表”(FIFO表)。在广度优先搜索中,我们将扩展出的状态存贮在一个称为list的数组里,数组容量为listmax。list数组采用“先进先出”的队列结构,设两个指针open、closed,分别是队尾指针和队首指针。其中list[1‥cloed-1]存贮已扩展状态(即这些状态的儿子状态已扩展出);list[cloed‥open]存贮待扩展状态(即这些状态的儿子状态尚待扩展)。当open=closed时,则表示队列空;当open=listmax时,则表示队列满(见上图)。List数组的元素为状态。最佳优先搜索策略最佳优先搜索策略按照一定的网页分析算法,预测候选URL与目标网页的相似度,或与主题的相关性,并选取评价最好的一个或几个URL进行抓取。它只访问经过网页分析算法预测为“有用”的网页。存在的一个问题是,在爬虫抓取路径上的很多相关网页可能被忽略,因为最佳优先策略是一种局部最优搜索算法。因此需要将最佳优先结合具体的应用进行改进,以跳出局部最优点[33,34]。最佳优先搜索要求给出由一个状态前进到下一个状态所付出的代价。这在一般的问题求解中都是事先确定了的。例如,两个城市之间的距离就可以看成是求解此两个城市之间运输路线问题的代价。

最佳优先搜索的核心问题是如何构估算路径成本的评价函数。这里,介绍一种简单的评价函数构造方法。

假如n是由起点s到目标状态t的最佳路径上的某一个节点。用f(n)来表示对这条最佳路径的成本计算。f(n)定义为:其中g(n)为由起点s到n的各部代价之和,h(n)为由n到终点t的代价估算。在求解过程中当搜索到n时,g(n)是已知的——它是由s到n的的各步代价的总和。然而如何确定h(n),却不是件容易的事,因为由n到g是一个未知的世界。这里,无法给出一个通用的求解方法。它只能根据所求解问题的性质,或是人们所积累的经验来决定。因此,只能针对特定的问题加以解决。为了不影响进一步的讨论,不妨假设已知这个函数。

对宽度有先搜索进行如下的改进就成了最佳优先搜索。

全部的搜索过程由一组互相竞争的子过程构成,每一个子过程负责一种搜索选择,既负责搜索属于自身的那棵子树。而且这些子过程又由它自己的子过程构成,如此等等。在所有这些子过程中,只有到目前为止具有最低值的那个子过程是活动的。其他子过程则处于一种等待状态。当搜索过程沿着唯一活动的子过程继续时,就会增大活动子过程的值,从而可能使其他子过程成为到目前为止具有最低值的子过程。这使这个新的具有最低值的子过程成为活动的,于是搜索又由这一新的活动子过程向下继续进行。不妨对上述搜索过程作如下想象:一群互相竞争的搜索子过程按照他们的值由小到大排队。其中,位于队首的子过程由于具有最低的值而获得向下搜索的权利。这个活动的子过程实时地受到其他的竞争对手的威胁,在向下搜索的过程中除非搜索到了目标状态,否则它每前进一步都要报告它所获得的新的值。一旦这个新的值超过了它的下一个竞争对手,则他必须把向下搜索的权利让给这个竞争对手,而自己则根据新的值回到队列中恰当的位置上等待下一次机会。不难看出,竞争对手的f值是对活动的搜索子过程的一种限制,他时刻提醒活动过程在向下搜索时不得超过由竞争对手时确定的界限。

根据上面的叙述不难看出,深度搜索和广度搜索都是这种搜索方式的特例。对于深度搜索,深度乐深优先权越大,而对于广度搜索,深度越深,优先权越小。2.4.2.网页分析算法在聚集爬虫抓取的网页中包含文本和许多URL信息,如何判断网页文本和主题有没有关系,网页中包含的URL链接的价值高不高,都需要通过网页分析算法来分析评价。目前Web分析算法主要分为:基于网络拓扑结构、基于页面内容和基于用户访问行为三种网页分析算法。网络拓扑分析算法是指通过对Web页面之间的相互链接关系的分析来确定网页重要性和相关度的方法。目前最常见的网页分析算法是PageRank和HITS算法,两者都是通过对网页间链接度的递归和规范化计算,得到每个网页的重要度评价。PageRankPageRank算法是Google创始人LarryPage首先提出来的,并于2001年9月被被美国专利局授予算法专利,PageRank算法被Google运用于网页排名运算,是用来标识网页的等级和重要性的一种重要算法。其基本思想是通过计算一个页面PageRank(PR)权值来评价其等级和重要性,即根据页面的外部链接和内部链接的数量和质量来衡量页面的价值,通常是被链接的越多,就意味着其价值越高。PR权值的级别从1到10级,10级为满分。PR权值采用如下迭代公式计算:其中,和分别表示第i个和第j个网页的PageRank权值,取布尔值0、1,表示从网页i到j是否存在超链接,表示网页i中指向其他网页的链接数量。表2-2PR数值的含义PR值含义0~2表示目前没有太多外部链接连到此网站;但不意味此网站在Google上排名就一定很低。假如此网页讨论的主题够专业,范围够狭窄,很有可能网友在Google上面搜寻时,此网页可以排名在很前面3一般经营两年以上的网站大多能达到这个成绩;这是很不错的成绩,但是在热门搜寻领域里的排名不会很理想4能达到这个数字,证明链接到此的网站外部连接“质”、“量”俱佳。不仅链接到此网站的网站数多,而且链接到此网站本身的PageRank也相当高5表示有不少“权威性”的重量级网站链接到此网站;通常Google内部会自定义一些它们认为特别重要的网站,如果某一网站能取得这些网站的链接,Rank分数就会上升得很快,相应的排名得到提升6能突破5到6的网站非常少,如果此网站达到5或6,说明此网站有很不错的知名度的大站,而且此网站的反向链接够多也够重量7~10能够达到这个级别的网站相对于整个网络来说极少PR值是谷歌推出对网页的一个判断标准,PR值越高说明网站对谷歌排名越好,但是PR值对其他的搜索引擎就不适合,比如对百度来说是无用的。HITS算法HITS(Hyperlink-InducedTopicSearch)是由Kleinberg在90年代末提出的基于链接分析的网页排名算法。描述两种类型的网页:“权威型(Authority)网页”:对于一个特定的检索,该网页提供最好的相关信息。“目录型(Hub)网页”:该网页提供很多指向其它高质量权威型网页的超链接。由此,可以在每个网页上定义“目录型权值”和“权威型权值”两个参数。具体算法如下:在检索系统中对查询请求q(查询关键字)进行检索,在返回的结果中,取前n个网页作为一个集合S,S必须满足以下的条件:=1\*GB3①S中的网页数量较少;=2\*GB3②S中的网页是与查询q相关的网页;=3\*GB3③S中的网页包含较多的权威(Authority)网页。在网页集合S中,统计所有的被S引用的网页和引用S的网页,把这些网页都加入到S集合中,扩展成一个更大的网页集合T。在T集合中,计算目录型(Hub)网页的数量,以目录型网页构造一个新的集合V1;再计算权威型(Authority)网页的数量,以权威型网页构造另一个新的集合V2。集合V1中的网页到V2中的网页的超链接为边集E,形成一个二分有向图。对V1中的任一个顶点v,用h(v)表示网页v的Hub值,且h(v)收敛;对V2中的顶点u,用a(u)表示网页的Authority值。开始时,对u执行I操作,修改它的a(u),对v执行O操作,修改它的h(v),然后规范化,如此不断的重复计算下面的I操作和O操作,直到a(u)。其中I操作:;O操作:。每次迭代对a(u)、h(v)进行规范化处理:;。HITS算法可以获得比较好的查全率,输出一组具有较大Hub值的网页和具有较大权威值的网页。2.5系统结构设计主题搜索系统的体系结构可以分为三层:主题搜索引擎层、数据层和用户检索层:搜索层:包括主题爬虫、URL队列、HTML分析、URL提取、特征词提取等组件。实现的功能是遍历网页,从网页中过滤噪音,提取URL和文本,对URL和文本进行分析和处理,判断URL的重要程度,对文本进行特征提取和构建特征词向量,并对特征向量进行相关度分析。相关度高的网页建立索引,并把网页信息(网址、标题、摘要等)存入网页数据库中。数据库:包括索引数据库、主题特征词库、网页数据库和数据链路层。主题特征词库里存放农业方面的专有名词,用来进行抓取网页的相关度评价。索引数据库中用来存放索引,用索引来对网页数据库进行快速查找。数据链路层是数据库和搜索引擎、数据库和Web服务器之间的数据联系通道。用户层:包括检索服务器端、检索界面(包括PC机,手机、移动电子设备等)。使用者在检索界面输入检索词,检索服务器接受请求,把请求发送到数据库中检索,并把检索结果在检索界面显示。图2-8系统结构2.6.特征词库农业主题特征词库非常重要,搜索引擎抓取到的网页要和主题词库里的特征词进行比较,判断网页是否是农业信息类的网站。因为农业信息的分类方法很多,不同的分类方法可以构造不同的特征词库,在这里,按两种分类方法来设计特征词库。(1)按农业学科分类按照中国图书馆分类法中的农业部分分类规则,并结合农业信息的特殊属性,设计如下的分类方法:表2-3农业信息的学科分类大类分支1.农业基础科学01农业化学02土壤与肥料科学03农业生物学04农业生态学05其他2.农学O1无土栽培02作物生物技术03有机农业04其他3.农作物Ol粮食作物02经济作物03饲料04其他4.植物保护Ol作物病害与保护02农药信息03生物防治04其他防治05其他5.园艺Ol苗圃02园艺设施03蔬菜园艺04瓜果园艺05花卉园艺06景观与盆景07其他6.畜牧Ol动物科学02动物医学03其他7.林业Ol林木育种02森林经营与管理……(2)按农业属性分类信息的属性是指信息内容的基本特征。我们把农业信息分为农业资源类型属性信息、农业机构属性信息、农业区域属性信息3类,类目下可以细分子类目。各类息的具体特征如下:表2-4农业信息的属性分类大类分支1.农业资源类型01农业政策管理信息02农业市场信息03农业科技信息04农业数据库05其他2.机构01政府02科研单位03院校04企业05媒体06社会团体07其它3.区域信息01中国02美国03加拿大04英国05澳大利亚06日本07其它……按照以上两种分类方法,可以构造每个类别的特征词库。搜索引擎在这一章节中,主要基于农业信息搜索这个主题,来构建主题搜索引擎的体系结构。3.1.体系结构主题搜索引擎的体系结构如图3-1所示,搜索引擎的核心组件Crawler首先访问用户给定的起始URL,把网页的有效信息从代码中分离出来,然后分析提取其中的URL地址放入待访问URL队列。另一个组件URL任务分配器负责判断Crawler的状态,如果Crawler是工作状态那么URL任务分配器进入等待状态,如果Crawler没有下载线程那么URL任务分配器提取URL队列里的地址并传送给Crawler。Crawler接收URL后访问网页,并将遍历的网页存放到Web数据库。HTML解析器读取数据库中网页的信息,对其进行分析和处理,去除噪声,舍弃HTML代码,提取其中的有用信息,如URL、标题、摘要、文本等信息。网页中的URL被提取出来进行判断,是否已经访问过,如是将被丢弃,如不是将计算URL的重要程度,按优先级别放入URL队列里等待访问。文本分析器对提取的文本信息进行分析处理,去除停用词,提取特征词,用数学模型对特征词建立向量模型,并和特征词库进行主题相关度评价,将相关度高的网页存入数据库,并建立索引,提供快速检索沈熙环.林木育种学[M].中国林业出版社,1990,10(2):16-19。沈熙环.林木育种学[M].中国林业出版社,1990,10(2):16-19图3-1主题搜索引擎体系结构。3.2.Crawler功能分析Crawler是主题搜索引擎中最核心的组件,它是搜索引擎中负责遍历和抓取网页的组件。Crawler由几个重要的组成部分:HTTP/HTTPS下载模块、DNS解析器、Robot解析器等部分。其中,DNS解析器的功能是将URL地址转换成IP地址,Robot解析器的功能是检查被访问的主机或网站是不是允许网络爬虫的访问,HTTP/HTTPS下载模块的功能是从URL任务分配器接收URL地址,通过DNS解析器转化为IP地址,访问IP地址,从Robot解析器中判断网页是否能够被访问和下载,如果能下载则将网页信息保存到Web数据库中等待处理。Crawler的系统结构如图3-2所示。图3-2Crawler模块的系统结构3.2.1.HTTP/HTTPS下载模块HTTP/HTTPS下载模块是多线程模块,可以多个线程同时下载,这样的设计便于并行处理和控制,目的是为了提高爬虫抓取的效率。下载线程的工作流程图如图3-3所示。图3-3HTTP/HTTPS下载线程的工作流程URL任务分配器将要访问的URL地址发送给多线程队列,HTTP/HTTPS下载线程读取其中的一个URL地址,HTTP/HTTPS下载控制模块要对这个URL进行判断,是否此URL已经被访问过,如果是,则此次任务终止,HTTP/HTTPS下载线程继续等待URL,如果没有访问过,那么再检查该站点是否已经访问过,如果访问过,直接进行web页面的内容抓取,如果没有访问过,则调用DNS解析器对URL地址进行解析,转化为IP地址后进行访问。3.2.2.下载模块控制器当主题爬虫要采集Web页面的时候,首先要发送访问资源请求,然后Web服务器接收请求并作出应答,最后信息由网络传送至客户端。因为服务器和客户端所有的通信和数据传输都需要通过Internet,如果主题爬虫太过频繁的遍历网络,会大幅度地增加网络和网站服务器的负载,甚至会造成站点服务器的死机和网络传输的堵塞。所以为了保网络通畅及网站服务器正常的工作,并使爬虫能够保持正常、有效地运行,应该对爬虫的访问和抓取行为进行适当的控制与管理。下载模块控制器的基本功能有:1.对网络爬虫进行标识。当主题爬虫在需要访问Web页面的时候,应该在HTTP协议中对请求类型写下自身的标识。这样便于网站管理员能够了解网站的访问来源,在爬虫过多、过频繁访问网站,影响网站正常运行的时候进行网站维护和管理,或者是通知爬虫的所有者对爬虫进行适当的调整。2.合理利用网络资源。如果一台Web服务器接收的访问请求太多,会造成服务器的负担过重,响应时间延长,甚至会使得服务器崩溃。因此必须控制主题爬虫对Web服务器发送访问请求的时间间隔,降低爬虫对网络和被访问站点的影响,保证网络服务正常运行。3.控制爬虫工作状态。当主题爬虫访问Web页面遇到异常情况,比如废弃很久的页面,或者由一些数据库动态生成的Web页面而长时间得不到响应的时候,下载控制模块应该能及时终止爬虫对这些目标页面的访问,同时对这些URL作出标识,避免其他的线程对这样的Web页面再次访问,从而提高访问效率。3.2.3.Crawler任务分配器因为Crawler在抓取网页的时候是多线程抓取,Crawler任务分配器就负责管理和分配URL到具体的抓取线程,接收线程的任务请求,判断线程状态,并作出响应。具体功能如下:1.判断HTTP/HTTPS下载线程的状态,如果有下载线程为空,就从URL队列里取出若干个若干队首URL分配给空线程;2.接收HTTP/HTTPS下载线程的任务请求;3.响应任务请求。当任务分配器接收到HTTP/HTTPS下载线程的URL申请后,就从URL队列里取出若干个若干队首URL传送给下载线程。URL任务管理器在每次分配URL给HTTP/HTTPS下载线程的时候都是一次取出多个URL进行分配,这样可以延长HTTP/HTTPS下载线程的工作周期,减小多个下载线程同时向URL任务管理器发送请求的几率,尽量降低URL任务管理器响应请求的负担。3.2.4.DNS解析器DNS(DomainNameSystem)是域名系统的缩写(另有一种说法是DomainNameServer,域名解析服务器),DNS域名系统是Internet上的一项核心服务,它作为一个分布式数据库,可以将域名和IP地址相互映射转换,能够使我们更方便的访问Internet,在访问网站服务器的时候只需要输入方便好记的域名,而不用去记住服务器的物理IP地址。DNS域名解析器负责把URL转换成IP地址,提供给HTTP/HTTPS下载模块访问。例如中国农业部的官网:/其中:http是网络协议;是主机域名;DNS域名解析器首先连接DNS服务器,在域名系统中查找对应的IP地址17,并把IP地址提供给HTTP/HTTPS下载模块进行访问和下载。很多操作系统如Windows、Linux等都提供DNS缓存服务,会把常用的域名--IP地址对应值保存起来,当网络爬虫要再此访问URL地址时,DNS域名解析器直接从本地系统的DNS缓存里找到对应的IP地址,提供给HTTP/HTTPS下载模块,从而节省转换时间,提高网络爬虫的工作效率。3.2.5.拒绝蜘蛛协议拒绝蜘蛛协议(RobotExclusionStandard,又可被写为RobotsExclusionProtocol或robots.txtProtocol)于1994年被提出,当时Internet还处于发展阶段,网络爬虫程序也还处于起步阶段,为了对爬虫程序的访问行为进行规范,一些Internet用户提出了一个对其进行约束的协议,这就是RobotExclusionStandard,它是一项非官方的公约,用以防止网络蜘蛛或网络机器人以公开的方式访问全部或部分网站。拒绝蜘蛛协议robots.txt其实是一个纯文本文件,在文件中可以用代码来表明网站中哪些部门可以允许Crawler访问,哪些部门不允许Crawler访问。而且robots.txt放在网站根目录下,当Crawler访问一个网站时(例如:http://www.MyS),Crawler中的组件Roboot.txt解析器会首先查找网站中是否存在robots.txt文件(查找文件地址为:http://www.MyS/robots.txt),如果没有Crawler会遍历整个网站,如果有robots.txt文件则根据允许的范围访问网站。我们举例来说明robots.txt协议的使用方法,在表3-1中是一个最简单的robots.txt协议代码:表3-1robots.txt协议代码User-agent:*Disallow:/cgi-bin/Disallow:/bbs/Disallow:/private/其中:User-agent:*用来指出网络机器人或其他爬虫的名称。‘*’表示所有的网络机器人或爬虫,这条代码说明拒绝蜘蛛协议对任何网络机器人或爬虫均有效。在robots.txt文件中,至少要有一条‘User-agent’记录且‘User-agent:*

’这样的记录只能有一条。如果协议要对具体名称的网络机器人或爬虫生效,那么就这样书写:‘User-agent:myRobot’,myRobot就是一个网络爬虫的名称。Disallow:该代码用于说明限制网络机器人或爬虫访问的URL,这个URL可以是一条完整的路径,也可以是部分的,任何以Disallow开头的URL均不会被网络机器人或爬虫访问到。在robots.txt文件中,至少要有一条Disallow记录。如果在多条Disallow记录下,只要有一条是写成‘Disallow:’,那么该网站的所有内容都允许被访问,在表3-1这个例子中,该网站有三个目录对搜索引擎的访问做了限制,即任何网络机器人或爬虫都不能访问这三个目录。需要注意的是对每一个目录必须分开声明,而不要写成"Disallow:/cgi-bin//bbs/"。网络爬虫对于拒绝蜘蛛协议的工作流程如图4-4所示:爬虫程序通过URL访问网站,先查找网站根目录中是否存在拒绝蜘蛛协议文件robot.txt,不存在直接返回结果TRUE,告诉主题爬虫访问整个网站;如果存在则读取robot.txt文件,判断有没有disallow语句,没有就返回结果TRUE,说明整个网站可以被访问,有则判断地allow语句是否存在分隔符‘/’,找到禁止抓取的URL,判断是否和待抓取的URL一致,如果不是就返回TRUE,告诉爬虫可以抓取,如果是则不能进行抓取。图3-4拒绝蜘蛛协议工作流程3.3网页分析处理在网络爬虫遍历网络,抓取网页之后,要对网页进行相应的分析和处理,需要进行的相关工作如图3-5所示:图3-5网页处理流程3.3.1.遍历网页初始种子网页是由搜索引擎的开发者给定的,是主题搜索引擎遍历网络的起点,所以种子网页的选取非常关键,会影响到搜索引擎搜集的质量和效率,初始种子网页集通常可以采用以下的方法来确定:1、从专业的目录分类网站(如http:///)中选择主题分类网站。2、从百度或Google中搜索相应的主题,在返回的结果列表中挑选一些网站作为初始种子网页集。3、根据对主题的了解直接给定相关的网站作为初始种子网页集。在这里,选取中国农业信息网(/)作为初始种子网页。并设定广度优先搜索策略作为此次搜索引擎遍历网络的策略。搜索引擎遍历网页的轨迹用图3-6表示:图3-6搜索引擎遍历网页轨迹3.3.2.网页解析中国农业信息网/的网站首页如图3-7所示:图3-7中国农业信息网首页从图3-7可以看到,首页上包含了大量的内容,有LOGO图标,菜单栏,提示栏,新闻图片,各种专题栏目。这些内容对我们进行信息收集来说是一种干扰,通常把它们称为“噪声”。再把网页的源代码下载进行分析,源代码如下:代码3-1网页中的HTML代码<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http:///1999/xhtml">*****HTML代码开始标记*****<head>*****HTML头部开始标签*****<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>中国农业信息网</title>*****标题标签*****<styletype="text/css"><!--.bj_2-1{background-image:url(../images/i_13-2fwb.jpg)}.gdce_yyp{background-image:url(../images/gdce_yyp.jpg)}.bj_yyp{ background-image:url(../images/pfscgq_yyp.jpg); background-repeat:no-repeat; background-position:centerbottom; font-size:14px; font-weight:bold; color:#4f8905;}<script>…</script></head>*****头部结束标签*****<body>*****HTML主体开始标签*****<divclass="notice"><spanclass="notice_title"style="color:#FF0000;font-weight:bold;float:left;display:block;width:110px;">温馨提示:</span> <spanstyle="display:block;width:110px;"> 中国农业信息网域名已经变更为:<br><strong></strong><br>敬请惠存!</span></div><tablewidth="400"border="0"><tr><tdalign="left"valign="middle"class="bj_3"><aclass="link03"href="./V20/SC/myyj/201603/t20160307_5042719.htm"target="_blank"title="中国棉花贸易形势特点及展望(2016-03-07)">*****超链接标签*****<SCRIPTLANGUAGE="JavaScript">document.write(tit_('中国棉花贸易形势特点及展望'));</script>*****锚文本*****</a></td></tr><tr><tdalign="left"valign="middle"class="bj_3"><aclass="link03"href="./V20/SC/myyj/201512/t20151218_4957281.htm"target="_blank"title="农产品非关税贸易措施发展新特征浅析(2015-12-18)"><SCRIPTLANGUAGE="JavaScript">document.write(tit_('农产品非关税贸易措施发展新特征浅析'));</script></a></td></tr></table>……</body>*****主体开始标签*****</html>*****HTML代码结束标记*****从代码3-1可以看到,网页是由HTML语言编辑而成,代码里除了HTML标签对,还有大量的其他代码,比如CSS代码、JavaScript脚本代码、各种按钮表格等组件,还包含了大量的图片、广告代码,这些代码对文本提取、建立特征词库和主题相关度评价没有任何作用,反而会对其进行干扰,所以我们必须在文本提取的时候把它们丢弃。对代码3-1进行分析,代码第一行就是<!DOCTYPE>标签,<!DOCTYPE>声明必须是HTML文档的第一行,位于<html>标签之前。它是指示web浏览器关于页面使用哪个HTML版本进行编写的指令。代码第二行是标签<html>,标签<html…>表示网页代码的开始,标签</html>表示网页代码的结束,这是一对标签,在每个HTML页面里是必不可少的,表示HTML代码的开始点和结束点。HTML代码里一般还包括两个重要的部分:<head>和<body>。<head>部分包含了<title>标签,这是网页的标题标签,网页信息提取一般都会把标题提取出来,在代码3-1中标题标签如下:<title>中国农业信息网</title><body>是网页的主体部分,标签<body>、</body>也是一组首尾对应的标签组,表示页面的正文部分开始和结束,在IE浏览器里显示的内容都在这对标签组里面。主体部分包含了超链接(Link),这些超链接里有URL地址,这是聚焦爬虫进行下一步爬行必须要获取的地址,所以在HTML解析器里有要把URL地址提取出来传递给URL分析器进行分析。在代码3-1里可以看到URL是在标签组:<aclass="link03"href="./V20/SC/myyj/201512/t20151218_4957281.htm"target="_blank"title="农产品非关税贸易措施发展新特征浅析(2015-12-18)"></a>中,其中符号‘href=’后面的内容就是URL地址,在这里URL指向的地址是:./V20/S

温馨提示

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

评论

0/150

提交评论