




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
演示文稿搜索引擎基本原理及实现技术现在是1页\一共有42页\编辑于星期六搜索引擎基本原理及实现技术ppt课件现在是2页\一共有42页\编辑于星期六搜索引擎的工作原理通用搜索引擎的架构示意图现在是3页\一共有42页\编辑于星期六通用的网络爬虫的框架现在是4页\一共有42页\编辑于星期六爬虫技术总体介绍:
(一)网络爬虫是一个自动提取网页的程序,它为搜索引擎从Internet网上下载网页,是搜索引擎的重要组成。 网络爬虫使用多线程技术,让爬虫具备更强大的抓取能力。
网络爬虫还要完成信息提取任务,对于抓取回来的网页提取出来:新闻、电子图书、行业信息等。对于MP3、图片、Flash等各种不同内容,要实现自动识别、自动分类及相关属性测试(例如:MP3文件要包含的文件大小,下载速度等属性)。现在是5页\一共有42页\编辑于星期六(二)抓取对象:
1.静态网页:爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。
2.动态网页:分析动态网页参数,按照一定规章,“拼”出所有要被抓取内容URL,只抓取这些特定范围内动态网页。
3.特殊内容:比如RSS、XML数据,情况特殊需特殊处理。如新闻的滚动新闻页面,需要爬虫不停地监控扫描,发现新内容马上就进行抓取。
4.文件对象:图片,MP3、Flash、视频等文件的抓取,都要特殊处理。比如说:图片抓取出来后,要知道图片文件类型、图片文件的大小、图片的像素大小,还要转换出来缩略图。现在是6页\一共有42页\编辑于星期六爬虫分类批量型爬虫有明确的抓取范围和目标,当达到这个设定的目标后,即停止抓取过程。增量型爬虫(商业搜索引擎属于此类)持续不断的抓取,对抓到的网页定期更新垂直型爬虫仅关注特定主题内容或者属于特定行业的网页,难点是如何识别网页是否属于指定范畴。现在是7页\一共有42页\编辑于星期六优秀爬虫的特性高性能URL队列的存储方式会影响性能可扩展性多台服务器多线程抓取,不同区域部署数据中心,将爬虫分配到不同的数据中心健壮性再次启动时能恢复之前抓取的内容和数据结构友好性爬虫禁抓协议和网页禁抓标记现在是8页\一共有42页\编辑于星期六禁止爬虫的几种情况User-agent:GoogleBotDisallow:/tmp/Disallow:/cgi-bin/Disallow:/users/paranoid/<metaname=“robots”content=“noindex”><metaname=“robots”content=“nofollow”>Robot.txt禁止索引网页内容禁止抓取网页链接现在是9页\一共有42页\编辑于星期六Content标签对应的具体含义Content组合意义content=“index,follow”允许收录,允许从页面中扩展链接content=“all”content=“noindex,nofollow”禁止收录,禁止从页面中扩展链接content=“none”content=“noindex,follow”禁止收录,允许从页面中扩展链接content=“index,nofollow”允许收录,禁止从页面中扩展链接现在是10页\一共有42页\编辑于星期六爬虫质量的评价标准1、覆盖率2、抓取网页的时新性3、抓取网页的重要性大型商业搜索引擎一般至少包含两套不同目的爬虫系统,一套(freshbot)主要考虑网页的时新性,一套(deepcrawlbot)针对更新不那么频繁的网页。现在是11页\一共有42页\编辑于星期六网页抓取策略1、宽(广)度优先遍历策略2、深度优先遍历策略3、非完全pagerank策略4、OPIC策略(OnlinePageImportanceComputation)5、大站优先策略现在是12页\一共有42页\编辑于星期六宽(广)度优先策略将新下载网页中发现的链接直接插入待抓取URL队列的末尾。也就是指网络爬虫会先抓取起始网页中链接的所有网页,然后再选择其中的一个链接网页,继续抓取在此网页中链接的所有网页。抓取顺序:1,2,3,4,5,6,7,8,9现在是13页\一共有42页\编辑于星期六深度优先策略
从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接.抓取顺序:1,2,5,6,3,7,4,8,9现在是14页\一共有42页\编辑于星期六PageRank简介
1)在初始阶段:网页通过链接关系构建起Web图,每个页面设置相同的PageRank值,通过若干轮的计算,会得到每个页面所获得的最终PageRank值。随着每一轮的计算进行,网页当前的PageRank值会不断得到更新。
2)在一轮中更新页面PageRank得分的计算方法:在一轮更新页面PageRank得分的计算中,每个页面将其当前的PageRank值平均分配到本页面包含的出链上,这样每个链接即获得了相应的权值。而每个页面将所有指向本页面的入链所传入的权值求和,即可得到新的PageRank得分。当每个页面都获得了更新后的PageRank值,就完成了一轮PageRank计算。现在是15页\一共有42页\编辑于星期六非完全PageRank策略对于已经下载的网页,加上待抓取URL队列中的URL一起,形成网页集合,在此集合内进行pagerank计算,计算完成后,将待抓取URL队列里的网页按照PageRank得分由高到低排序,形成的序列就是爬虫接下来应该依次抓取的URL列表。每当下载K个的网页,就将所有下载页面重新计算一遍其非完全的PageRank值。现在是16页\一共有42页\编辑于星期六OPIC策略
OnlinePageImportanceComputation。该算法实际上也是对页面进行一个重要性打分。在算法开始前,给所有页面一个相同的初始现金(cash)。当下载了某个页面P之后,将P的现金分摊给所有从P中分析出的链接,并且将P的现金清空。对于待抓取URL队列中的所有页面按照现金数进行排序。现在是17页\一共有42页\编辑于星期六大站优先策略以网站为单位来衡量网页重要性,对于待抓取URL队列中的所有网页,根据所属的网站进行分类。对于待下载页面数多的网站,优先下载。现在是18页\一共有42页\编辑于星期六网页更新策略历史参考策略用户体验策略聚类抽样策略现在是19页\一共有42页\编辑于星期六历史参考策略假设:过去频繁更新的网页,将来更新也会很频繁。原理:利用泊松过程来对网页的变化建模,预测下次变化时间。将网页划分成不同区域,忽略广告栏或者导航栏等不重要区域的变化,精力集中在变化的主题内容上。现在是20页\一共有42页\编辑于星期六用户体验策略假设:用户往往只查看前3页的搜索内容。原理:保存网页的多个历史版本,根据过去每次内容变化对搜索质量的影响,得出一个平均值,作为判断爬虫抓取该网页时机的参考依据,对质量影响越厉害的网页,越优先调度重新抓取。现在是21页\一共有42页\编辑于星期六聚类抽样策略前面两种更新策略都有一个前提:需要网页的历史信息。存在两个问题:1)系统要是为每个系统保存多个版本的历史信息,增加了很多的系统负担;2)新的网页完全没有历史信息,无法确定更新策略。
现在是22页\一共有42页\编辑于星期六聚类抽样策略聚类抽样策略认为,网页具有很多属性,类似属性的网页,可以认为其更新频率也是类似的。要计算某一个类别网页的更新频率,只需要对这一类网页抽样,以他们的更新周期作为整个类别的更新周期。
现在是23页\一共有42页\编辑于星期六分布式抓取系统结构
一般来说,抓取系统需要面对的是整个互联网上数以亿计的网页。单个抓取程序不可能完成这样的任务。往往需要多个抓取程序一起来处理。一般来说抓取系统往往是一个分布式的三层结构。
最下一层是分布在不同地理位置的数据中心,在每个数据中心里有若干台抓取服务器,而每台抓取服务器上可能部署了若干套爬虫程序。这就构成了一个基本的分布式抓取系统。现在是24页\一共有42页\编辑于星期六主从式基本结构有一台专门的Master服务器来维护待抓取URL队列,它负责每次将URL分发到不同的Slave服务器,而Slave服务器则负责实际的网页下载工作。Master服务器除了维护待抓取URL队列以及分发URL之外,还要负责调解各个Slave服务器的负载情况。以免某些Slave服务器过于清闲或者劳累。
这种模式下,Master往往容易成为系统瓶颈。现在是25页\一共有42页\编辑于星期六对等式工作结构所有的抓取服务器在分工上没有不同。每一台抓取服务器都可以从待抓取在URL队列中获取URL,然后对该URL的主域名的hash值H,然后计算Hmodm(其中m是服务器的数量,以上图为例,m为3),计算得到的数就是处理该URL的主机编号。弊端:扩展性较差。现在是26页\一共有42页\编辑于星期六
一致性哈希将URL的主域名进行哈希运算,映射为一个范围在0-232之间的某个数。而将这个范围平均的分配给m台服务器,根据URL主域名哈希运算的值所处的范围判断是哪台服务器来进行抓取。
如果某一台服务器出现问题,那么本该由该服务器负责的网页则按照顺时针顺延,由下一台服务器进行抓取。现在是27页\一共有42页\编辑于星期六暗网抓取查询组合问题文本框填写问题现在是28页\一共有42页\编辑于星期六网络爬虫的实现现在是29页\一共有42页\编辑于星期六链接的存储队列的数据结构待爬取队列已爬取队列失效链接错误链接现在是30页\一共有42页\编辑于星期六网页抓取Jsoup.jar官方网站/相关学习资料/topic/1010581/topic/1010582现在是31页\一共有42页\编辑于星期六getElementById(Stringid)用id获得元素getElementsByTag(Stringtag)用标签获得元素getElementsByClass(StringclassName)用class获得元素getElementsByAttribute(Stringkey)用属性获得元素用下面方法获得元素的数据:attr(Stringkey)获得元素的数据attr(Stringkey,Stringvalue)t设置元素数据attributes()获得所以属性id(),className()classNames()获得idclass得值text()获得文本值text(Stringvalue)设置文本值html()获取htmlhtml(Stringvalue)设置htmlouterHtml()获得内部html
现在是32页\一共有42页\编辑于星期六try
{
doc
=
Jsoup
.connect(urlStr)
.userAgent(
"Mozilla/5.0
(Windows;
U;
Windows
NT
5.1;
zh-CN;
rv:5)")
//
设置User-Agent
.timeout(5000)
//
设置连接超时时间
.get();
}
catch
(MalformedURLException
e)
{
log.error(
e);
return
;
}
catch
(IOException
e)
{
if
(e
instanceof
SocketTimeoutException)
{
log.error(
e);
return
;
}
if(e
instanceof
UnknownHostException){
log.error(e);
return
;
}
log.error(
e);
return
;
}
现在是33页\一共有42页\编辑于星期六system.out.println(doc.title());
Element
head
=
doc.head();
Elements
metas
=
head.select("meta");
for
(Element
meta
:
metas)
{
String
content
=
meta.attr("content");
Element
body
=
doc.body();
Elementses=body.select("a");for(Iterator<Element>it=es.iterator();it.hasNext();){Elemente=(Element)it.next();href=e.attr("href");}现在是34页\一共有42页\编辑于星期六链接提取<a
href="./gljg/gljg.html"><span>机关部处</span></a><a
href="/"
target="_blank"><span>招生就业</span></a><a
href="../hzjl"><span>合作交流</span></a>现在是35页\一共有42页\编辑于星期六<iframe
id="ifNews"
scrolling="no"
allowtransparency="true"
frameborder="0"
src="/service/CqutXw"
height="135"></iframe><option
value="/">工业和信息化部</option>现在是36页\一共有42页\编辑于星期六提高爬虫效率多线程抓取优化存储结构根据不同类型的链接分别制定抓取策略现在是37页\一共有42页\编辑于星期六实例说明现在是38页\一共有42页\编辑于星期六主要步骤1.输入:种子页面网址、抓取深度、抓取线程数2.根据初始url获取种子页面的内容
注:1)url的合法性(两种方法) a、判断url是否符合协议规则 b、判断url是否可以打开while(counts<=3){try{URLurl=newURL(urlStr);HttpURLConnectioncon=(HttpURLConnection)url.openConnection();intstate=con.getResponseCode();if(state==200){retu="ok";}
现在是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 烟台城市科技职业学院《学科前沿讲座》2023-2024学年第二学期期末试卷
- 贵州护理职业技术学院《美文诵读》2023-2024学年第二学期期末试卷
- 森林碳-水动态模拟-洞察及研究
- 物流员工健康管理制度
- 物流生产安全管理制度
- 物资使用安全管理制度
- 物资出门保卫管理制度
- 物资生产控制管理制度
- 港产城融合发展视域下西安空港新城公共空间优化设计研究
- 契约治理对基础设施PPP项目变更控制的影响研究
- 2025年中考道德与法治一轮复习:必背重难点知识点提纲
- 中医儿科学全版
- 口服抗凝药居家管理中国专家共识(2024版)
- 7.1 多面体-中职数学教学设计(高教版2021基础模块 下册)
- 会计法课件完整版本
- 高中化学作业优化的研究
- 支票打印模板-电子表格版-
- 消费趋势与乳制品创新
- 身份证知识课件
- GB/T 43780-2024制造装备智能化通用技术要求
- 医院改造方案
评论
0/150
提交评论