



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络爬虫摘 要 随着互联网的日益壮大,搜索引擎技术飞速发展。搜索引擎已成为人们在浩瀚的网络世界中获取信息必不可少的工具,利用何种策略有效访问网络资源成为专业搜索引擎中网络爬虫研究的主要问题。文章介绍了搜索引擎的分类及其工作原理阐述了网络爬虫技术的搜索策略,对新一代搜索引擎的发展趋势进行了展望。关键词 网络爬虫;策略;搜索引擎概念:网络爬虫也叫网络蜘蛛,它是一个按照一定的规则自动提取网页程序,其会自动的通过网络抓取互联网上的网页,这种技术一般可能用来检查你的站点上所有的链接是否是都是有效的。当然,更为高级的技术是把网页中的相关数据保存下来,可以成为搜索引擎。搜索引擎使用网络爬虫寻找网络内容,网络上的HTML文档使用超链接连接了起来,就像织成了一张网,网络爬虫也叫网络蜘蛛,顺着这张网爬行,每到一个网页就用抓取程序将这个网页抓下来,将内容抽取出来,同时抽取超链接,作为进一步爬行的线索。网络爬虫总是要从某个起点开始爬,这个起点叫做种子,你可以告诉它,也可以到一些网址列表网站上获取。网络爬虫的构成及分类 网络爬虫又被称为做网络蜘蛛、网络机器人,主要用于网络资源的收集工作。在进行网络舆情分析时,首要获取舆情信息内容,这就需要用到网络爬虫(蜘蛛程序)这个工具,它是一个能自动提取网页内容的程序,通过搜索引擎从互联网上爬取网页地址并抓取相应的网页内容,是搜索引擎(Search Engine)的重要组成部分。一个典型的网络爬虫主要组成部分如下:1. URL 链接库,主要用于存放爬取网页链接。2. 文档内容模块,主要用于存取从 Web 中下载的网页内容。3. 文档解析模块,用于解析下载文档中的网页内容,如解析 PDF,Word,HTML 等。4. 存储文档的元数据以及内容的库。5. 规范化 URL 模块,用于把 URL 转成标准的格式。6. URL 过滤器,主要用于过滤掉不需要的 URL。上述模块的设计与实现,主要是确定爬取的内容以及爬去的范围。最简单的例子是从一个已知的站点抓取一些网页,这个爬虫用少量代码就可以完成。然而在实际互联网应用中,可能会碰到爬去大量内容需求,就需要设计一个较为复杂的爬虫,这个爬虫就是N个应用的组成,并且难点是基于分布式的。网络爬虫的工作原理 传统网路爬虫的工作原理是,首先选择初始 URL,并获得初始网页的域名或 IP 地址,然后在抓取网页时,不断从当前页面上获取新的 URL 放入候选队列,直到满足停止条件。聚焦爬虫(主题驱动爬虫)不同于传统爬虫,其工作流程比较复杂,首先需要过滤掉跟主题不相关的链接,只保留有用的链接并将其放入候选 URL 队列。然后,根据搜索策略从候选队列中选择下一个要抓取的网页链接,并重复上述过程,直到满足终止条件为止。与此同时,将所有爬取的网页内容保存起来,并进行过滤、分析、建立索引等以便进行性检索和查询。总体来讲,网络爬虫主要有如下两个阶段:第一阶段,URL 库初始化然后开始爬取。第二阶段,爬虫读取没有访问过的 URL,来确定它的工作范围。其中,对于所要抓取的 URL 链接,进行以下步骤:1. 获取 URL 链接。2. 解析内容,获取 URL 及相关数据。3. 存储有价值的数据。4. 对新抓取的 URL 进行规范化。5. 过滤掉不相关的 URL。6. 将要抓取的 URL 更新到 URL 库中。7. 重复步骤2,直到终止条件为止。 网络爬虫的搜索策略 目前,比较常见的网络爬虫搜索策略有以下三种:1、广度优先搜索策略。其主要思想是,由根节点开始,首先遍历当前层次的搜索,然后才进行下一层的搜索,依次类推逐层的搜索。这种策略多用在主题爬虫上,因为越是与初始 URL 距离近的网页,其具有的主题相关性越大。2、深度优先搜索策略。这种策略的主要思想是,从根节点出发找出叶子节点,以此类推。在一个网页中,选择一个超链接,被链接的网页将执行深度优先搜索,形成单独的一条搜索链,当没有其他超链接时,搜索结束。3、最佳优先搜索策略。该策略通过计算 URL 描述文本与目标网页的相似度,或者与主题的相关性,根据所设定的阈值选出有效 URL 进行抓取。爬行算法数据采集的效率及覆盖率受爬行算法的影响,现在比较流行和经典的爬行算法都是在Best-Frist 算法的基础上改进和演化而来,各种算法的不同之处是:对待爬的URLs采用不同的启发式规则来进行打分并排序,同时在爬行之前或在爬行过程中对算法的参数进行优化。1、Best-First算法Best-First算法通过维持一个排序的URLs优先级队列,通过计算主题与所抓取网页P的cosine similarity(余弦相似度)来确定Urls frontier中的Urls的优先级。相似度计算公式如下: (2-1)式中,q为主题,p为抓取的网页。Best-Frist爬行算法如下:i.初始化,设定查询主题(topic),初始种子结点集合(starting_urls),爬取的最大网页数量(MAX_PAGES)以及frontier的容量限制(MAX_BUFFER);ii.把初始结点集合(starting_urls)中所有link插入到frontier队列(初始为空);iii.循环(当frontier队列非空且爬行的网页数)a)从frontier中取出优先级最高的链接(link):link=dequeue_link_with_max_score(frontier)b)访问并下载该link对应的页面(doc):doc=fetch_new_page(link)c)计算页面与主题的相似度(score):score=sim(topic,doc)d)抽取doc中的所有超链接(outlinks)e)循环(对于页面doc中的每一个超链接outlink)If(#frontier=MAX_BUFFER)(当frontier中链接的数量大于等于最大限制)Then dequeue_link_with_min_score(frontier)(从frontier删除最小优先级链接)Else enqueue(frontier,outlink,score)(把链接和优先级加入frontier队列)f)循环结束(完成doc中的链接入frontier队列过程)iv.循环结束(结束爬行)2、Shark Search算法Shark Search算法 是Hersovici等在Fish-Search算法的基础上进行了一些改进,使用向量空间模型构建查询q与网页、链接锚文本及链接附近文本的空间向量并计算其余弦相似度cosine值,相似度为介于0和1之间的连续值0,1,从而代替Fish-Search算法的关键字及正则表达式匹配的相关性为0,1的离散值0,1,Shark search算法同时利用了锚文本、链接附近文本和父页面相关度信息三方面的相关度线索。同Fish-Search算法一样,该算法也设定了爬行的深度界限(Depth Bound)。在爬行队列中的每一个链接都关联一个深度界限和优先级度量值。深度界限由用户设定,链接的优先级值由父页面相关性、锚文本及链接附近文本共同决定。具体算法如下:i.初始化:设定初始节点,深度界限(D),爬行尺度(S),时限,搜索查询q;ii.设定初始节点的深度界限depth=D,并把节点插入到爬行队列(初始为空);iii.循环(当队列非空且下载的节点数0 (当前节点相关)Then inherited_score(child_node)= *sim(q,current_node)其中 为预先设定的衰减因子=0.5;Else inherited_score(child_node)= *inherited_score(current_node);b)提取anchor_text及anchor_text_context(通过预先设定的边界,如:1);c)计算锚文本的相关度值: d)计算锚文本的相关度值:If anchor_score 0,Then anchor_context_score = 1Else anchor_context_score = sim(q,anchor_text_context);e)计算anchor的相关度,neihgorhood_score: 其中 为预设的常量等于0.8;f)计算孩子节点的潜在值 其中 为预设的常量小于1,一般设为0.5。iv.循环结束。网络爬虫技术的最新发展传统的网络爬虫技术主要应刷于抓取静态Web网页l 31随着AJAXWeb20的流行,如何抓取AJAX等动态页面成了搜索引擎急需解决的问题,因为AJAX颠覆了传统的纯HTTP请求响应协议机制,如果搜索引擎依旧采用“爬”的机制,是无法抓取到AJAX 页面的有效数据的。AJAX采用了JavaScript驱动的异步请求响应机制以往的爬虫们缺乏JavaScript语义上的理解基本上无法模拟触发JavaScript的异步调用并解析返回的异步回渊逻辑和内容另外在AJAX的应用中,JavaScript会对D0M结构进行大量变动,甚至页面所有内容都通过JavaScript直接从服务器端读取并动态绘制出来。这对习惯了D0M 结构相对不变的静态页面简直是无法理解的 由此可以看出以往的爬虫是基于协议驱动的,而对于AJAX这样的技术,所需要的爬虫引擎必须是基于事件驱动的。要实现事件驱动,首先需要解决JavaScript的交互分析和解释的问题。总结近几年,国内关于网
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国电子工业版初中信息技术第一册第3单元3.1活动1《走进“互联网+”》教学设计
- 奖惩及改进工作记录表
- 过程质量检查表
- 九年级英语上册 Module 5 Museums Unit 2 If you ever go to London make sure you visit the Science Museum第三课时教学设计(新版)外研版
- 人教版(三起)(2001)三年级上册 第7课 玩打字游戏 教学设计
- 2024吉林省高速公路集团有限公司白城分公司劳务派遣项目招聘6人笔试参考题库附带答案详解
- 中考作文专题训练:《审题立意》教学设计
- 2024北京首旅置业集团有限公司市场化选聘总经理助理1人笔试参考题库附带答案详解
- 人教新目标 (Go for it) 版八年级上册Section B第2课时教学设计及反思
- 七年级地理上册 第一章 第一节 地球和地球仪教学设计2 (新版)新人教版
- 促进林业产业高质量发展的建议
- 体外诊断试剂的应急预案
- 饲料厂各岗位操作规程
- 公共场所卫生监督培训课件
- 煤焦油加氢主要化学反应
- 水泥混凝土路面打裂压稳施工工法
- 社会主义核心价值观与中华传统文化
- 镇村综治中心治安防控室工作台账(完整打印版)
- 2020年10月自考00152组织行为学试题及答案
- 2018年顺丰控股公司组织架构和部门职能
- 中国联通大客户业务故障处理工作实施细则
评论
0/150
提交评论