版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、搜索引擎基本原理和实现技术,1,搜索引擎工作原理,通用搜索引擎体系结构图表,2,通用web爬虫的框架,3,爬行动物技术概述:(1)web爬虫是自动提取web页面的程序,为搜索引擎从internet下载web页面是搜索引擎的重要组成,web爬虫使用多线程技术为爬行动物提供了更强大的捕获功能。web爬行动物还需要完成信息提取任务,对捕获的网页提取:新闻、电子书、行业信息等。对于MP3、图片、flash等多种内容,执行自动识别、自动分类和相关属性测试,例如要包含在MP3文件中的文件大小、下载速度等。4,(2)撷取物件:1。静态网页:爬行动物从一个或多个初始网页的URL开始,然后获取初始网页的URL。
2、撷取网页时,继续从目前页面撷取新的URL,并排入伫列,直到符合系统的特定停止条件为止。2.分析动态网页:动态网页参数,根据特定规则“拼写”要捕获的所有内容URL,以便仅捕获这些特定范围内的动态网页。3.特殊内容:例如RSS、XML数据,情况需要特殊处理。像新闻的滚动新闻页面一样,爬行动物不断监视扫描,发现新内容,应该可以纠正。4.档案对象:照片、MP3、flash、视频等档案捕获都需要特殊处理。例如,捕获照片后,需要转换图片档案类型、图片文件的大小、图片的像素大小和缩略图图像。5,爬行动物分类,安置爬行动物有明确的捕获范围和目标,达到牙齿设置的目标时停止捕获过程。增量爬行动物(如商业搜索引擎)
3、持续捕获,定期更新捕获的网页上垂直爬行动物只关注特定专题内容或属于特定行业的网页,难点在于如何识别网页是否属于指定类别。6,优秀爬行动物的特性,高性能URL队列的存储方式会影响性能可扩展性。多服务器多线程捕获,区域数据中心部署用户-代理: Google bot disallow 3360/tmp/disallow 3360/CGI-bin/disallow 3360/users/paranow,10,web捕获战略,1,宽度(宽度)优先遍历战略2,深度优先遍历战略3,不完整的PageRank战略4,OPIC战略(联机页面importance computation) 5,对捕获顺序:1,2,3
4、,4,5,6,7,8,9,12,深度优先战略,从开始页面开始,一个链接跟踪一个链接,牙齿行处理后转到下一个开始页面,链接跟踪继续随着每轮计算的进行,网页上当前的PageRank值不断更新。2)在第一轮中更新页面PageRank分数的计算方法:在第一轮更新页面PageRank分数计算中,每个页面将当前PageRank值平均分配给牙齿页面所包含的链,从而为每个链接赋予适当的权重。每个页面合计指向牙齿页面的所有传入链的权重,以获得新的PageRank分数。当每个页面获得更新的PageRank值时,PageRank计算完成。14、不完整的PageRank策略、下载的网页、要捕获的URL队列中的URL共
5、同构成网页集合,在牙齿集合中执行PageRank计算,完成计算后,将捕获的URL队列中的网页按照PageRank分数从高到低排序,爬行动物紧随其后。每次下载k个网页时,所有下载页面都会重新计算不完整的PageRank值。15,OPIC策略,online page importance computation。牙齿算法实际上是对页面进行重要的评分。在算法开始之前为所有页面提供相同的初始现金(cash)。下载页面P后,将P的现金分配给从P提取的所有链接,并清空P的现金。按现金计数对要收集的URL队列中的所有页面进行排序。16,以网站优先级策略、web网站为单位测量web页面的重要性,并根据该web
6、站点对要收集的URL队列中的所有web页面进行分类。对于要下载的页数较多的站点,请先下载。17,网页更新战略,历史参考策略使用者经验策略群集采样战略,18,历史参考策略,牙齿假定过去经常更新的网页将来也经常更新。原则:使用泊松过程对网页中的变化建模,并预测下一次更改的时间。将主页分为多个区域,忽略广告栏和导航栏等非重要区域的变化,集中在变化的专题内容上。19,使用者经验政策,假设:用户经常只查看前三页的搜索内容。原则:存储网页的多个历史版本,根据过去每个内容变化对搜索质量的影响,以确定爬虫何时抓住网页的参考标准计算平均值,存储对质量影响大的网页,优先级越高,就可以重新捕获。20,集群采样战略,
7、前面两个茄子更新策略都假定需要网页的历史信息。有两个茄子问题。1)系统为每个系统保留多个版本的历史信息会加重系统负担。2)新网页完全没有历史信息,无法确认更新策略。21,集群采样战略,集群采样策略认为网页具有很多属性,具有相似属性的网页更新频率也类似。要计算一个类别的网页的更新频率,可以对该类型的网页进行采样,使用更新周期作为整个类别的更新周期。22,分布式捕获系统结构,通常捕获系统必须面对整个网络中数十亿个网页。单一撷取程式无法执行这些作业。多个捕获程序经常一起处理。捕获系统通常是分布式的三层结构。下一层是地理上分散的数据中心,每个数据中心有多个爬虫服务器,每个爬虫服务器可以分发多个爬虫程序
8、。这构成了基本的分布式捕获系统。23,客户端-服务器基本结构,具有维护要捕获的URL队列的专用主服务器。每次将URL分发到徐璐其他从属服务器时,牙齿服务器都会负责实际的web下载。除了维护要收集的URL队列和分发URL外,主服务器还负责协调各个从属服务器的负载。确保某些从属服务器不太空闲或太累。在牙齿模式下,主控常常容易成为系统瓶颈。24,对等工作结构,所有爬网服务器在分工上没有区别。每个捕获服务器可以计算处理该URL的主机名,方法是从URL队列中获取URL,计算该URL的默认域名的散列值H,然后计算H mod m(其中M是服务器数,在上图中M是3)。缺点:扩展性下降。25,一致散列将URL的
9、默认域名映射到0-232范围内的数字。将牙齿范围平均分配给M台服务器后,URL默认域名散列运算的值范围将确定要捕获的服务器。如果一台服务器出现问题,该服务器应负责的网页将顺时针延迟,由下一台服务器捕获。26,黑暗web捕获,查询组合问题文本框填充问题,27,web抓取器实现,28,链接存储,队列数据结构抓取等待队列抓取队列抓取队列失败链接错误链接,29,web捕获,Jsoup.jar官方web网站http:/jsoup . org/geteeString value) t设置元素数据attributes()以获取属性id()。ClassName() classNames()获取id class
10、值text()获取文本值设置text(字符串值)文本值html () html html(字符串值)user agent(Mozilla/5.0(windows:U;windows nt 5.1:Zh-CN;RV :1 . 9 . 2 . 15)/user-agent . time out设置(5000)/连接超时设置。get();catch(malformedurlexceptione)log . error(e);Returncatch(io exceptione)if(einstanceofsockettimeoutexception)log . error(e);Returnif(ei
11、nstanceofunknownhostexception)log . error(e);Return日志错误(e);Return,32,system . out . print ln(doc . title();elementhead=doc . head();elementsmetas=head . select(meta);for(element meta : metas)string content=meta . attr(内容);element body=doc . body();elements es=body . select(a);for(Iterator it=es . It
12、erator();it . has next();)元素e=(元素)it . next();href=e . attr(href);33,链接提取,机构部,招聘就业,合作交流,34,产业和信息化部,35,提高爬行动物效率,多线程捕获最优化存储结构,徐璐根据其他类型的链接开发捕获战略,36,案例说明,37,主要步骤,1。输入:种子页URL、捕获深度、捕获线程数2。基于初始url获取种子页面的内容注:1)获取URL的合法性(两种茄子方法)a,确保符合URL牙齿协议规则b,确保可以打开URL牙齿while(counts=3)Httpurlconnectioncon=(int state=con .
13、getresponsecode();If(状态=200)retu=ok;38,布莱克;catch(Exception ex)counts;Continue2)从种子页面导入的内容包括标题、正文文本、超连结(开放源代码jar包:jsoup)document doc=jsoup . connect(surl)。get();elements links=doc . select(ahref);for(element link : links)string link href=link . attr(href);/ur地址获取string link title=budge(link . text()的href属性的值。/获取锚点的文本说明,39,3 .根据捕获深度执行多线程捕获。实际上,重复步骤2多次。2周:确定URL的重复性。建议您使用Hashset验证hashset allurlSet=new hashset()/定义hashse
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二年级信息技术下册 文章标题更醒目 1教案 泰山版
- Unit 9 Learning Reflection Writing Workshop 教学设计-2025-2026学年学年高中英语北师大版(2019)必修第三册
- DB50∕T 1987-2026 板角山羊主要疫病防控技术规范
- 校园排水沟工程施工方案
- 冷作工技能鉴定考核试题库及答案解析
- Unit 7 A day to remember 整体单元教案人教版(2024)七年级英语下册
- 2025-2026学年自然拼读教学设计案例
- 处方管理办法试题及答案
- 高中北师大版(2019)Lesson1MoneyvsSuccess教案
- 《与妻书》教学设计 2025-2026学年统编版高中语文必修下册
- DB37-T 5345-2025 《建筑工程流态固化土应用技术规程》
- 脑出血早期康复课件
- 2025年大学《智慧林业-林业大数据分析》考试备考题库及答案解析
- 方形井盖施工方案
- 《铁路电力线路运行与检修》高职全套教学课件
- 2025年新版新加坡建筑安全考试40题及答案
- 电缆有限空间施工方案
- 焊接知识培训课件
- 春季高考历年真题-2026年天津市春季高考语文试卷
- 《Ubuntu Linux系统管理与服务器配置》中职全套教学课件
- 重庆市2025年初中学业水平考试地理试题及答案
评论
0/150
提交评论