分享
分销 收藏 举报 申诉 / 59
播放页_导航下方通栏广告

类型网络爬虫的设计与实现培训讲学.doc

  • 上传人:精***
  • 文档编号:3733206
  • 上传时间:2024-07-16
  • 格式:DOC
  • 页数:59
  • 大小:447.50KB
  • 下载积分:16 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    网络 爬虫 设计 实现 培训 讲学
    资源描述:
    精品文档 在我们学校大约有4000多名学生,其中女生约占90%以上。按每十人一件饰品计算,大概需要360多件。这对于开设饰品市场是很有利的。女生成为消费人群的主体。 3. www。oh/ov。com/teach/student/shougong/ 月生活费 人数(频率) 百分比 (2) 缺乏经营经验 创业首先要有“风险意识”,要能承受住风险和失败。还要有责任感,要对公司、员工、投资者负责。务实精神也必不可少,必须踏实做事; 3、消费“多样化” (2)东西全 此次调查以女生为主,男生只占很少比例,调查发现58%的学生月生活费基本在400元左右,其具体分布如(图1-1) (一)上海的经济环境对饰品消费的影响 7、你喜欢哪一类型的DIY手工艺制品? 毕业设计(论文)说明书 学 院 软件学院 专 业 软件工程 年 级 2007 姓 名 张凤龙 指导教师 陈锦言 2011年 3月 6 日 毕业设计(论文)任务书 题目:网络爬虫设计与实现 学生姓名 张凤龙 学院名称 软件学院 专 业 软件工程 学 号 3007218139 指导教师 陈锦言 职 称 讲师 一、 原始依据(包括设计或论文的工作基础、研究条件、应用环境、工作目的等。) 互联网是一个庞大的非结构化的数据库,将数据有效的检索并组织呈现出来有着巨大的应用前景。搜索引擎作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性。不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。所以需要一个能基于主题搜索的满足特定需求的网络爬虫。 为了解决上述问题,参照成功的网络爬虫模式,对网络爬虫进行研究,从而能够为网络爬虫实现更深入的主题相关性,提供满足特定搜索需求的网络爬虫。 二、 参考文献 [1]Winter.中文搜索引擎技术解密:网络蜘蛛 [M].北京:人民邮电出版社,2004年. [2]Sergey等.The Anatomy of a Large-Scale Hypertextual Web Search Engine [M].北京:清华大学出版社,1998年. [3]Wisenut.WiseNut Search Engine white paper [M].北京:中国电力出版社,2001年. [4]Gary R.Wright W.Richard Stevens.TCP-IP协议详解卷3:TCP事务协议,HTTP,NNTP和UNIX域协议 [M].北京:机械工业出版社,2002 年1月. [5]罗刚 王振东.自己动手写网络爬虫[M].北京:清华大学出版社,2010年10月. [6]李晓明,闫宏飞,王继民.搜索引擎:原理、技术与系统——华夏英才基金学术文库[M].北京:科学出版社,2005年04月. 三、 设计(研究)内容和要求(包括设计或研究内容、主要指标与技术参数,并根据课题性质对学生提出具体要求。) 本课题的主要目的是设计面向主题的网络爬虫程序,同时需要满足的是具有一定的性能,要考虑到网络爬虫的各种需求。 网络爬虫应用宽度搜索技术。对url进行分析,去重。网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。网络爬虫要实现对特定主题的爬取。网络爬虫还要完成信息提取任务,对于抓取回来的网页提取出来:新闻、电子图书、行业信息等。对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。研究网络爬虫的原理并实现爬虫的相关功能。 最终实现的网络爬虫应该能根据设定的主题,从设定的url进行一定深度的搜索,并最终得到需要的数据。 指导教师(签字) 年 月 日 审题小组组长(签字) 年 月 日 天津大学本科生毕业设计(论文)开题报告 课题名称 网络爬虫设计与实现 学院名称 软件学院 专业名称 软件工程 学生姓名 张凤龙 指导教师 陈锦言 (内容包括:课题的来源及意义,国内外发展状况,本课题的研究目标、研究内容、研究方法、研究手段和进度安排,实验方案的可行性分析和已具备的实验条件以及主要参考文献等。) 一. 课题的来源及意义 互联网是一个庞大的非结构化的数据库,将数据有效的检索并组织呈现出来有着巨大的应用前景。搜索引擎作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性。不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。为了解决这个问题,一个灵活的爬虫有着无可替代的重要意义。 二. 国内外发展状况 对于网络爬虫的研究从上世纪九十年代就开始了,目前爬虫技术已经趋见成熟,网络爬虫是搜索引擎的重要组成部分。网络上比较著名的开源爬虫包括Nutch,Larbin,Heritrix。网络爬虫最重要的是网页搜索策略(广度优先和最佳度优先)和网页分析策略(基于网络拓扑的分析算法和基于网页内容的网页分析算法)。 三. 研究目标 本论文主要研究搜索引擎的搜索器(网络爬虫程序)的设计与实现,实现简单的可在后台自动运行的爬虫程序。 1. 可以多线程进行抓取。 2. 可以进行面向主题的抓取。 四.研究内容 本课题研究的内容是如何使网络爬虫灵活高效。 1. 如何具备更强的抓取能力。 2. 如何分辨重复的网页内容。 3. 如何确定主题相关性。 4. 对于网络时延等的处理。 五.研究方法 网络爬虫应用宽度搜索技术。对url进行分析,去重。网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。网络爬虫还要完成信息提取任务,对于抓取回来的网页提取出来新闻等信息。对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。研究网络爬虫的原理并实现爬虫的相关功能。 六. 研究手段 参考网上开源的网络爬虫和各种网络爬虫相关的书籍,在windows系统环境下开发。 五. 本课题进度安排: 2010.12.20—2011.03.10 查阅资料完成任务书 ,完成开题报告 2011.03.11—2011.03.12 开题报告会 2011.03.13—2011.04.24 查阅资料,进行论文基本章节的写作,完成初稿, 并完成进行代码编写 2011.04.25—2011.04.30 毕业设计中期报告会 2011.05.01—2011.05.22 系统设计结束并再次检查系统的可靠性。 2011.05.23—2011.06.22 完成论文及答辩 六. 本课题可行性分析 网络爬虫目前已经比较普遍,国内外有众多对网络爬虫的研究成果,大部分的技术难题已经有解决方案。所以本课题的可行性较高。 八. 实验条件 Windows 操作系统 ;互联网 九. 主要参考文献 [1]Winter.中文搜索引擎技术解密:网络蜘蛛 [M].北京:人民邮电出版社,2004年. [2]Sergey等.The Anatomy of a Large-Scale Hypertextual Web Search Engine [M].北京:清华大学出版社,1998年. [3]Wisenut.WiseNut Search Engine white paper [M].北京:中国电力出版社,2001年. [4]Gary R.Wright W.Richard Stevens.TCP-IP协议详解卷3:TCP事务协议,HTTP,NNTP和UNIX域协议 [M].北京:机械工业出版社,2002 年1月. [5]罗刚 王振东.自己动手写网络爬虫[M].北京:清华大学出版社,2010年10月. [6]李晓明,闫宏飞,王继民.搜索引擎:原理、技术与系统——华夏英才基金学术文库[M].北京:科学出版社,2005年04月. 选题是否合适: 是□ 否□ 课题能否实现: 能□ 不能□ 指导教师(签字) 年 月 日 选题是否合适: 是□ 否□ 课题能否实现: 能□ 不能□ 审题小组组长(签字) 年 月 日 摘 要 本课题的主要目的是设计面向主题的网络爬虫程序,同时需要满足的是具有一定的性能,考虑到网络爬虫的各种需求。 网络爬虫应用宽度搜索技术。对url进行分析,去重。网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。为了适应不同需求,使网络爬虫可以根据预先设定的主题实现对特定主题的爬取。研究网络爬虫的原理并实现爬虫的相关功能。 关键词:网络爬虫;面向主题;多线程 ABSTRACT    The main purpose of this project is to design subject-oriented web crawler process which is also required to meet certain performance, taking into account the diverse needs of web crawlers. Web Crawler uses the technology. of Breadth-first search.Web crawler uses multi-threaded technology, so that spiders crawl can have more powerful capabilities.Set connection time and read time of the web connection of the Web crawler , to avoid unlimited waiting.In order to meet different needs, so that crawlers can achieve pre-set theme crawling a specific topic.Research the principle web crawler and and realize the related functions. Key words:Web crawler; subject-oriented; multi-threading 精品文档 目  录   第一章  概述 1     1.1 课题背景 1    1.2 网络爬虫的历史和分类 2    1.2.1 网络爬虫的历史 2    1.2.2 网络爬虫的分类 3    1.3 网络爬虫的发展趋势 4 第二章 相关技术背景 6 2.1 网络爬虫的定义 6 2.2 网页搜索策略介绍 6 2.2.1 广度优先搜索策略 6 2.2.2 最佳优先搜索策略 7 2.3 判断相关度算法 7 第三章 网络爬虫模型的分析和概要设计 9 3.1 网络爬虫的模型分析 9 3.2 网络爬虫的搜索策略 9 3.3 网络爬虫的主题相关度判断 10 3.4 网络爬虫的概要设计 12 第四章 网络爬虫模型的设计和实现 15 4.1 网络爬虫总体设计 15 4.2 网络爬虫具体设计 15 4.2.1 爬取网页 15 4.2.2 分析网页 16 4.2.3 判断相关度 17 4.2.4 保存网页信息 18 4.2.5 数据库设计和存储 18 4.2.6 多线程的实现 18 4.2.7 附加功能 19 4.2.8 整体流程 19 第五章  测试 21 第六章  总结和展望 24 第一章  概述 1.1 课题背景 网络爬虫,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。 网络检索功能起于互联网内容爆炸性发展所带来的对内容检索的需求。搜索引擎不断的发展,人们的需求也在不断的提高,网络信息搜索已经成为人们每天都要进行的内容.如何使搜索引擎能时刻满足人们的需求。最初的检索功能通过索引站的方式实现,而有了网络机器人,即网络爬虫这个技术之后,搜索引擎的时代便开始一发不可收拾了。    1.2 网络爬虫的历史和分类 1.2.1 网络爬虫的历史 在互联网发展初期,网站相对较少,信息查找比较容易。然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资料简直如同大海捞针,这时为满足大众信息检索需求的专业搜索网站便应运而生了。 现代意义上的搜索引擎的祖先,是1990年由蒙特利尔大学学生Alan Emtage发明的Archie。虽然当时World Wide Web还未出现,但网络中文件传输还是相当频繁的,而且由于大量的文件散布在各个分散的FTP主机中,查询起来非常不便,因此Alan Archie工作原理与现在的搜索引擎已经很接近,它依靠脚本程序自动搜索网上的文件,然后对有关信息进行索引,供使用者以一定的表达式查询。由于 Archie深受用户欢迎,受其启发,美国内华达System Computing Services大学于1993年开发了另一个与之非常相似的搜索工具,不过此时的搜索工具除了索引文件外,已能检索网页。 当时,“机器人”一词在编程者中十分流行。电脑“机器人”(Computer Robot)是指某个能以人类无法达到的速度不间断地执行某项任务的软件程序。由于专门用于检索信息的“机器人”程序象蜘蛛一样在网络间爬来爬去,因此, 搜索引擎的“机器人”程序就被称为“蜘蛛”程序。世界上第一个用于监测互联网发展规模的“机器人”程序是Matthew Gray开发的World wide Web Wanderer。刚开始它只用来统计互联网上的服务器数量,后来则发展为能够检索网站域名。与Wanderer相对应,Martin Koster于1993年10月创建了ALIWEB,它是Archie的HTTP版本。ALIWEB不使用“机器人”程序,而是靠网站主动提交信息来建立 自己的链接索引,类似于现在我们熟知的Yahoo。 随着互联网的迅速发展,使得检索所有新出现的网页变得越来越困难,因此,在Matthew Gray的Wanderer基础上,一些编程者将传统的“蜘蛛”程序工作原理作了些改进。其设想是,既然所有网页都可能有连向其他网站的链接,那么从跟踪 一个网站的链接开始,就有可能检索整个互联网。到1993年底,一些基于此原理的搜索引擎开始纷纷涌现,其中以JumpStation、The World Wide Web Worm(Goto的前身,也就是今天Overture),和Repository-Based Software Engineering (RBSE) spider最负盛名。 然而JumpStation和WWW Worm只是以搜索工具在数据库中找到匹配信息的先后次序排列搜索结果,因此毫无信息关联度可言。而RBSE是第一个在搜索结果排列中引入关键字串匹配程 度概念的引擎 最早现代意义上的搜索引擎出现于1994年7月。当时Michael Mauldin将John Leavitt的蜘蛛程序接入到其索引程序中,创建了大家现在熟知的Lycos。同年4月,斯坦福(Stanford)大学的两名博士生,David Filo和美籍华人杨致远(Gerry Yang)共同创办了超级目录索引Yahoo,并成功地使搜索引擎的概念深入人心。从此搜索引擎进入了高速发展时期。目前,互联网上有名有姓的搜索引擎已 达数百家,其检索的信息量也与从前不可同日而语。比如最近风头正劲的Google,其数据库中存放的网页已达30亿之巨。 随着互联网规模的急剧膨胀,一家搜索引擎光靠自己单打独斗已无法适应目前的市场状况,因此现在搜索引擎之间开始出现了分工协作,并有了专业的搜索引 擎技术和搜索数据库服务提供商。象国外的Inktomi,它本身并不是直接面向用户的搜索引擎,但向包括Overture(原GoTo)、 LookSmart、MSN、HotBot等在内的其他搜索引擎提供全文网页搜索服务。国内的百度也属于这一类(注),搜狐和新浪用的就是它的技术。因此 从这个意义上说,它们是搜索引擎的搜索引擎。 1.2.2 网络爬虫的分类 网络爬虫种类繁多,如果按照部署在哪里分,可以分成:   1,服务器侧:一般是一个多线程程序,同时下载多个目标HTML,可以用PHP, Java, Python等做,一般综合搜索引擎的爬虫这样做。但是,如果对方讨厌爬虫,很可能封掉服务器的IP,服务器IP又不容易改,另外耗用的带宽也是较贵。 2,客户端:很适合部署定题爬虫,或者叫聚焦爬虫。做一个与Google,百度等竞争的综合搜索引擎成功的机会微乎其微,而垂直搜诉或者比价服务或者推 荐引擎,机会要多得多,这类爬虫不是什么页面都取的,而是只取关心的页面,而且只取页面上关心的内容,例如提取黄页信息,商品价格信息,还有提取竞争对手 广告信息的。这类爬虫可以部署很多,而且可以很有侵略性。可以低成本大量部署,由于客户端IP地址是动态的,所以很难被目标网站封锁。 1.3 网络爬虫的发展趋势   目前,大多数的搜索引擎都是基于关键词的搜索引擎。基于关键字匹配的搜索技术有较大的局限性:首先,它不能区分同形异义。其次,不能联想到关键字的同义词。   Web商业化至今,搜索引擎始终保持着网络上被使用最多的服务项目的地位,然而,随着网上内容的爆炸式增长和内容形式花样的不断翻新,搜索引擎越来越不能满足挑剔的网民们的各种信息需求。 搜索引擎的发展面临着两大难题:一是如何跟上Internet的发展速度,二是如何为用户提供更精确的查询结果。所以,传统的引擎不能适应信息 技术的高速发展,新一代智能搜索引擎作为一种高效搜索引擎技术的在当今的网络信息时代日益引起业界人士的关注。搜索引擎己成为一个新的研究、开发领域。因 为它要用到信息检索、人工智能、计算机网络、分布式处理、数据库、数据挖掘、数字图书馆、自然语言处理等多领域的理论和技术,所以具有综合性和挑战性。又 由于搜索引擎有大量的用户,有很好的经济价值,所以引起了世界各国计算机科学界和信息产业界的高度关注,目前的研究、开发十分活跃,并出现了很多值得注意的动向。   目前传统搜索引擎下,百度、谷歌等大厂商垄断了网络索引市场,因为它们的存在,日益庞大的互联网内容才能突破网络黑暗状态,变成可知的一个世界。然而,传统搜索引擎并不能支持定制搜索和信息处理、挖掘,只能以WEB1.0的形式存在。   可以预见将来互联网信息抓取、挖掘和再处理,将成为人们越来越多的需求,而满足这种需求的,就是各种各样的爬虫与相关的信息处理工具。现在网络上流 行的信息采集工具、网站聚合工具,都是未来新一代爬虫的先驱,甚至已经具备其特点。但是互联网本身,不管1.0还是2.0,还没有为爬虫时代的到来做好充分准备。现在游行的SEO,就是强势搜索引擎条件下对网站结构产生的影响。爬虫时代到来之后,互联网上会出现专门的信息站点,就是提供给爬虫看的站点。 传统的网络爬虫技术主要应用于抓取静态Web 网页,随着AJAX/Web2.0的流行,如何抓取AJAX 等动态页面成了搜索引擎急需解决的问题,因为AJAX颠覆了传统的纯HTTP 请求/响应协议机制,如果搜索引擎依旧采用“爬”的机制,是无法抓取到AJAX 页面的有效数据的。 AJAX 采用了JavaScript 驱动的异步请求/响应机制,以往的爬虫们缺乏JavaScript语义上的理解,基本上无法模拟触发JavaScript的异步调用并解析返回的异步回调逻辑和内容。 另外,在AJAX的应用中,JavaScript 会对DOM结构进行大量变动,甚至页面所有内容都通过JavaScript 直接从服务器端读取并动态绘制出来。这对习惯了DOM 结构相对不变的静态页面简直是无法理解的。由此可以看出,以往的爬虫是基于协议驱动的,而对于AJAX 这样的技术,所需要的爬虫引擎必须是基于事件驱动的。 第二章 相关技术背景 2.1 网络爬虫的定义   定义1:网络爬虫是一个自动提取网页的程序,它为搜索引擎从Web上下载网页,是搜索引擎的重要组成部分。通用网络爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL列表;在抓取网页的过程中,不断从当前页面上抽取新的URL放入待爬行队列,直到满足系统的停止条件。   定义2:主题网络爬虫就是根据一定的网页分析算法过滤与主题无关的链接,保留主题相关的链接并将其放入待抓取的URL队列中;然后根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。所有被网络爬虫抓取的网页将会被系统存储,进行一定的分析、过滤,并建立索引,对于主题网络爬虫来说,这一过程所得到的分析结果还可能对后续的抓取过程进行反馈和指导。   定义3:如果网页p中包含超链接l,则p称为链接l的父网页。   定义4:如果超链接l指向网页t,则网页t称为子网页,又称为目标网页。  主题网络爬虫的基本思路就是按照事先给出的主题,分超链接和已经下载的网页内容,预测下一个待抓取的URL及当前网页的主题相关度,保证尽可能多地爬行、下载与主相关的网页,尽可能少地下载无关网页。 2.2 网页搜索策略介绍 网页的抓取策略可以分为深度优先、广度优先和最佳优先三种。深度优先在很多情况下会导致爬虫的陷入(trapped)问题,目前常见的是广度优先和最佳优先方法。 2.2.1 广度优先搜索策略 广度优先搜索策略是指在抓取过程中,在完成当前层次的搜索后,才进行下一层次的搜索。该算法的设计和实现相对简单。在目前为覆盖尽可能多的网页,一般使用广度优先搜索方法。也有很多研究将广度优先搜索策略应用于聚焦爬虫中。其基本思想是认为与初始URL在一定链接距离内的网页具有主题相关性的概率很大。另外一种方法是将广度优先搜索与网页过滤技术结合使用,先用广度优先策略抓取网页,再将其中无关的网页过滤掉。这些方法的缺点在于,随着抓取网页的增多,大量的无关网页将被下载并过滤,算法的效率将变低。 2.2.2 最佳优先搜索策略   最佳优先搜索策略按照一定的网页分析算法,预测候选URL与目标网页的相似度,或与主题的相关性,并选取评价最好的一个或几个URL进行抓取。它只访问经过网页分析算法预测为“有用”的网页。存在的一个问题是,在爬虫抓取路径上的很多相关网页可能被忽略,因为最佳优先策略是一种局部最优搜索算法。因此需要将最佳优先结合具体的应用进行改进,以跳出局部最优点。将在第4节中结合网页分析算法作具体的讨论。研究表明,这样的闭环调整可以将无关网页数量降低30%~90%。 2.3 判断相关度算法 主题爬虫的系统组成最初考虑是对页面的过滤,不像普通爬虫对所有页面的链接进行处理,先对页面与受限领域的主题相关度进行分析,只有当其主题相关度符合要求时才处理该页面中的链接,因为如果该页面和本领域比较相关,它所包含的链接和领域相关的几率也较大,这样提高了爬行精度,虽然会遗漏少数页面,但综合效果是令人满意的。因此,主题相关度的分析是主题爬虫设计的关键。 (一)主题相关度计算模型   垂直搜索引擎与通用搜索引擎最大的区别在于垂直搜索引擎是面向某个领域的,因而垂直搜索引擎的网络蜘蛛只采集与主题相关的网页,与主题无关的网页将被丢弃,将此类网络蜘蛛称为主题蜘蛛[6-8]。主题蜘蛛将网页下载到本地后,需要使用基于内容的主题判别方法计算该网页的主题相关度值,主题相关度低于某一阈值的网页被丢弃。主题相关度的计算方法有布尔模型和向量空间模型两种模型算法[10]。   1.布尔模型。在主题判别时,布尔模型是很容易实现的。在布尔模型[9]中,一个文档通过一个关键词集合来表示。同时,某个主题也以关键词集合的形式来表示。在判断文档与某主题的相关度的过程中,相当于是计算两个关键词集合的交集。对基于布尔模型的主题判别模型来说,交集中含有的元素越多,则认为与主题的相关度就越高。 2.空间向量模型。向量空间模型[11](Vector Space Model)由Salton等人于20世纪60年代末提出,是一种简便、高效的文本表示模型,其理论基础是代数学。与布尔模型不同,向量空间模型把用户的查询要求和数据库文档信息表示成由检索项构成的向量空间中的点(向量),而通过计算向量之间的距离来判定文档和查询之间的相似程度(例如,用它们之间夹角的余弦作为相似性度量)。然后,根据相似程度排列查询结果。在向量空间模型中,文档被形式化为n维空间中的向量,把关键词的个数n作为空间向量的维数,每个关键词的权值 作为每一维分量的大小,则主题用向量表示为:   A=(a1,a2,…,an),i=1,2,…,n,ai=wi   对于页面进行分析,统计关键词出现的频率,并求出频率之比,以出现的频率最高的关键词作为基准,其频率用xi=1表示,通过频率比,求出其他关键词的频率 ,则该页面对应向量的每一维分量为xiwi。指定一个阈值r,当cos<α,β>=r时就可以认为该页面和主题是比较相关的,r的取值需要根据经验和实际要求确定,如果想获得较多的页面,可以把r设小一点,要获得较少的页面可以把r设的大一点。   (二)布尔模型与空间向量模型分析   布尔模型的主要缺陷在于每个关键词的权重都是一样的,它不支持设定关键词的相对重要性,但是其优点也较为明显,它易于实现,计算代价较小。   向量空间模型最大优点在于它在知识表示方法上的巨大优势。在该模型中,文档的内容被形式化为多维空间中的一个点,以向量的形式给出。也正是因为把文档以向量的形式定义到实数域中,才使得模式识别和其他领域中各种成熟的算法和计算方法得以采用,极大地提高了自然语言文档的可计算性和可操作性。   通过对空间向量模型和布尔模型的介绍,我们知道现在垂直搜索引擎大多采用空间向量模型计算主题相关性。这样极大的提高到主题爬虫的效率,也极大的提高了垂直搜索引擎的应用效率,给客户带来了高效的查询效果。与在进行页面的主题相关度分析后,当其主题相关度符合要求时将处理该页面中的所有链接,但其中的链接指向的页面也可能有许多偏离了主题,这一点在网页的标题上就可以看出,现在大多数网页的标题已经很明显的给出了文本的主要描述对象,所以传统的空间模型策略没有注意到网页标题这个重要的角色。针对此提出了一种基于网页标题的空间向量模型主题相关度计算方法。 第三章 网络爬虫模型的分析和概要设计 3.1 网络爬虫的模型分析 首先建立URL任务列表,即开始要爬取的URL。由URL任务列表开始,根据预先设定的深度爬取网页,同时判断URL是否重复,按照一定算法和排序方式搜索页面,然后对页面按照一定算法进行分析,并提取相关URL,最后将所得URL返回任务列表。之后将任务列表中URL重新开始爬取,从而使网络爬虫进行循环运行。 3.2 网络爬虫的搜索策略 本文的搜索策略为广度优先搜索策略。如下图3-1所示。 图3-1  广度优先搜索策略示意图 1) 定义一个状态结点 采用广度优先搜索算法解答问题时,需要构造一个表明状态特征和不同状态之间关系的数据结构,这种数据结构称为结点。不同的问题需要用不同的数据结构描述。 2)确定结点的扩展规则 根据问题所给定的条件,从一个结点出发,可以生成一个或多个新的结点,这个过程通常称为扩展。结点之间的关系一般可以表示成一棵树,它被称为解答树。搜索算法的搜索过程实际上就是根据初始条件和扩展规则构造一棵解答树并寻找符合目标状态的结点的过程。 广度优先搜索算法中,解答树上结点的扩展是沿结点深度的“断层”进行,也就是说,结点的扩展是按它们接近起始结点的程度依次进行的。首先生成第一层结点,同时检查目标结点是否在所生成的结点中,如果不在,则将所有的第一层结点逐一扩展,得到第二层结点,并检查第二层结点是否包含目标结点,...对长度为n+1的任一结点进行扩展之前,必须先考虑长度为n的结点的每种可能的状态。因此,对于同一层结点来说,求解问题的价值是相同的,我们可以按任意顺序来扩展它们。这里采用的原则是先生成的结点先扩展。 结点的扩展规则也就是如何从现有的结点生成新结点。对不同的问题,结点的扩展规则也不相同,需要按照问题的要求确定。 3)搜索策略 为了便于进行搜索,要设置一个表存储所有的结点。因为在广度优先搜索算法中,要满足先生成的结点先扩展的原则,所以存储结点的表一般设计成队列的数据结构。 搜索的步骤一般是: (1)从队列头取出一个结点,检查它按照扩展规则是否能够扩展,如果能则产生一个新结点。 (2)检查新生成的结点,看它是否已在队列中存在,如果新结点已经在队列中出现过,就放弃这个结点,然后回到第(1)步。否则,如果新结点未曾在队列中出现过,则将它加入到队列尾。 (3)检查新结点是否目标结点。如果新结点是目标结点,则搜索成功,程序结束;若新结点不是目标结点,则回到第(1)步,再从队列头取出结点进行扩展......。 最终可能产生两种结果:找到目标结点,或扩展完所有结点而没有找到目标结点。 3.3 网络爬虫的主题相关度判断 主题爬虫的系统组成最初考虑是对页面的过滤,不像普通爬虫对所有页面的链接进行处理,先对页面与受限领域的主题相关度进行分析,只有当其主题相关度符合要求时才处理该页面中的链接,因为如果该页面和本领域比较相关,它所包含的链接和领域相关的几率也较大,这样提高了爬行精度,虽然会遗漏少数页面,但综合效果是令人满意的。因此,主题相关度的分析是主题爬虫设计的关键。 主题蜘蛛将网页下载到本地后,需要使用基于内容的主题判别方法计算该网页的主题相关度值,主题相关度低于某一阈值的网页被丢弃。 (一) 什么是网页标题   通常浏览一个网页时,通过浏览器顶端的蓝色显示条出现的信息就是“网页标题”。   在网页HTML代码中,网页标题位于标签之间。     网页标题是对于一个网页的高度概括,一般来说,网站首页的标题就是网站的正式名称,而网站中文章内容页面的标题就是这文章的题目,栏目首页的标题通常是栏目名称。当然这种一般原则并不是固定不变的,在实际工作中可能会有一定的变化,但是无论如何变化,总体上仍然会遵照这种规律[12]。   例如,现在会看到很多网站的首页标题较长,除了网站名称之外,还有网站相关业务之类的关键词,这主要是为了在搜索引擎搜索结果中获得排名优势而考虑的,也属于正常的搜索引擎优化方法。因为一般的公司名称(或者品牌名称)中可能不包含核心业务的关键词,在搜索结果排名中将处于不利地位。   (二)网页标题的重要性   以Google为例,Google会对其标题标签(meta title)中出现的关键字给予较高的权值。所以应当确保在网站的标题标签中包含了最重要的关键词,即应围绕最重要的关键词来决定网页标题的内容。不过网页的标题不可过长,一般最好在35到40个字符之间。在实际操作中,网页标题不宜过短或过长。太短无法完整的表达网页信息,太长不仅不利于用户识别,而且对搜索引擎来说也加大了识别核心关键词的难度;网页标题应概括网页的核心内容。搜索引擎在进行搜索的时候,搜索结果的内容一般是网页标题、网页摘要信息和链接,要引起用户的关注,高度总结了网页内容的标题至关重要。比如戴尔中国的网站首页标题为“戴尔中国(Dell China)—计算机,笔记本电脑,台式机,打印机,工作站,服务器,存储器,电子产品及附件等”。戴尔的首页标题中不但涵盖了最重要的公司信息,而且还包括公司的主要产品,这就是核心关键词,当用“笔记本电脑”、“台式电脑”这些关键词在谷歌中进行搜索时,戴尔公司的网页都排在第一屏的前几条位置。 (二) 但是与此同时需要注意的还有网页正文的重要性,因为网页的标题和关键字很可能与正文无关,虚假关键词是通过在META中设置与网站内容无关的关键词,如在Title中设置热门关键词,以达到误导用户进入网站的目的。同样的情况也包括链接关键词与实际内容不符的情况。 具体判断主题相关度的步骤 1.对标题及正文的特征项的选取是通过分词后与主题集合匹配,并通过词频计算来得到与主题向量维数相等的标题向量和正文向量。   2.通过向量空间模型计算出主题和标题的相关度B。   3.通过空间向量向量模型计算主题与正文的相关度C。   4.主题与整个网页的相关度:A=4×B+C。   5.通过详细计算,设定相关度阈值为2,网页与主题的相关度A>2,则认为该网页与主题相关的。 3.4 网络爬虫的概要设计 本网络爬虫的开发目的,通过网络爬虫技术一个自动提取网页的程序,实现搜索引擎从自己想要访问的网上下载网页,再根据已下载的网页上继续访问其它的网页,并将其下载直到满足用户的需求。 根据现实中不同用户的实际上的各种需求,本项目简单实现主题爬虫,本网络爬虫需要达到如下几个目标: 1.设计基于多线程的网络爬虫,客户端向服务器发送自己设定好请求。如图3-7所示。 URL配置文件 URL配置文件列表 临 界 区 互联网 线程1搜索元URL如 线程2搜索元URL如 线程N 图3-2 多线程网络爬虫概要设计图模型 2.通过 http将Web服务器上协议站点的网页代码提取出来。 3.根据一定的正则表达式提取出客户端所需要的信息。 4.广度优先搜索可从网页中某个链接出发,访问该链接网页上的所有链接,访问完成后,再通过递归算法实现下一层的访问。 本网络爬虫最终将设计成一个能够自动读写配置文件并且在后台自动执行的网络爬虫程序。网络爬虫工作流程图如图3-3所示。 图3-3 网络爬虫工作流程图 第四章 网络爬虫模型的设计和实现 4.1 网络爬虫总体设计 根据本网络爬虫的概要设计本网络爬虫是一个自动提取网页的程序,根据设定的主题判断是否与主题相关,再根据已下载的网页上继续访问其它的网页,并将其下载直到满足用户的需求。 1.设计基于多线程的网络爬虫。 2.通过 http将待爬取URL列表对应的URL的网页代码提取出来。 3.提取出所需要的信息并且通过算法判断网页是否和设定的主题相关。 4.广度优先搜索,从网页中某个链接出发,访问该链接网页上的所有链接,访问完成后,再通过递归算法实现下一层的访问,重复以上步骤。 总的来说爬虫程序根据输入获得URL任务列表,即初始URL种子,把初始种子保存在临界区中,按照广度搜索运算法搜索抓取网页并提取URL返回到临届区中,通过判断主题相关度算法判断相关度,取出不相关网页,,从而使整个爬虫程序循环运行下去。 4.2 网络爬虫具体设计 4.2.1 爬取网页
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:网络爬虫的设计与实现培训讲学.doc
    链接地址:https://www.zixin.com.cn/doc/3733206.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork