




免费预览已结束,剩余55页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Roadmap,IntroductionCrawlingprocessImplementationissuesOnetaxonomyofcrawlers,Q:Howdoesasearchengineknowthatallthesepagescontainthequeryterms?A:Becauseallofthosepageshavebeencrawled,Crawler:basicidea,startingpages(seeds),Manynames,CrawlerSpiderRobot(orbot)WebagentWanderer,worm,Andfamousinstances:googlebot,scooter,slurp,msnbot,Motivationforcrawlers,Supportuniversalsearchengines(Google,Yahoo,MSN/WindowsLive,Ask,etc.)Vertical(specialized)searchengines,e.g.news,shopping,papers,recipes,reviews,etc.Businessintelligence:keeptrackofpotentialcompetitors,partnersMonitorWebsitesofinterestEvil:harvestemailsforspamming,phishingCanyouthinkofsomeothers?,Acrawlerwithinasearchengine,Web,Textindex,PageRank,Pagerepository,googlebot,TextmaybeothergoodstuffDepthFirstSearchImplementedwithSTACK(LIFO)Wanderaway(“lostincyberspace”),单个采集线程个工作过程,将url解析成host和file。例如:url:,单个采集线程个工作过程(续),在本地服务器缓冲区中组装http请求。用write()函数将组装好的http头发给网页服务器。调用read()函数读从网页服务器返回的网页数据当read()函数返回的字节数是0的时候,说明网页已经下载完毕。调用close()函数终止与网页服务器的连接。将网页保存到本地服务器,先广搜索算法,Thebasiccrawlingalgorithmisasfollows:CreateanemptyURLqueueAdduser-suppliedseedURLstothetailofthequeueUsingtheHTTPHEADrequest,retrievetheHTTPheadersfortheresourceattheheadofthequeueIftheresourceisfound,hasntbeenvisitedpreviously,andmeetsallcrawlingcriteria,then:RetrievetheresourceusinganHTTPGETrequestExtractURLsfromtheresource.ForeachURL:DecideiftheURLshouldbeaddedtotheURLqueue.Ifso,addtheURLtothetailoftheURLqueueStoretheheadersandresourceinthecollectionstoreRecordtheURLinthevisitedURLlistRepeatfromStep2untilthequeueisempty,thenstop.,AbasiccrawlerinPerl,Queue:aFIFOlist(shiftandpush)myfrontier=read_seeds($file);while(frontier,搜索策略,Breadth-firstSearch,搜索策略(cont),Depth-firstSearch,Implementationissues,网页分布的若干特点,网页:内容(C),物理存在(P),IP地址(A),url(L)存在有大量内容相同,但物理上不同的,url不同,IP地址不同的网页镜像,拷贝同一篇(物理)网页可能被多个url指向例如,和一个url可能对应多个IP地址,从而多个物理的网页(尽管此时内容大都是相同)例如,一些大门户网站采用的负载分配技术(也是一个例子),1.DNS缓存,预取和解析,如果不采取措施,DNS地址解析会成为一个重要的瓶颈局域网中,DNS服务器通常较小,对付几百个工作站的常规操作没问题,但一个crawler产生的压力大很多同时从一个服务器抓许多网页也可以使DNS的cache能力发挥出来搜索引擎中可以设计一个专用的DNS模块,含有用于地址解析的DNSclient(和本模块的DNS缓存服务器打交道)缓存server预取client,DNSresolver,高效地址解析的定制client,一般系统(例如UNIX)提供的DNSclient没有考虑cralwer的需求,带来两个问题:以gethostbyname()为基础,它不能并发;不会考虑在多个DNSserver之间分配负载。因此一个customclient很必要。专门对付多个请求的并发处理容许一次发出多个解析请求协助在多个DNSserver之间做负载分配(例如根据掌握的URL进行适当调度),DNS缓存服务器,大缓存容量,跨DNS系统的刷新保持内容Internet的DNS系统会定期刷新,交换更新的域名和IP的信息。普通的DNScache一般应该尊重上级DNS服务器带来的域名“过期”的信息,但用于爬取网页的DNScache不一定如此,以减小开销(让缓存中有些过期的无所谓,但也要注意安排适时刷新)映射尽量放在内存,可以考虑用一台专门的服务器,预取client,为了减少等待查找涉及新主机的地址的时间:尽早将主机名投给DNS系统步骤分析刚得到的网页从HREF属性中提取主机名(不是完整的URL)向缓存服务器提交DNS解析请求结果放到DNScache中(后面可能有用,也可能用不上)通常用UDP实现非连接,基于包的通信协议,不保证包的投递用不着等待解析的完成,网页抓取,问题:网络连接及传输的开销局域网的延迟在1-10ms,带宽为10-1000Mbps,Internet的延迟在100-500ms,带宽为0.010-2Mbps在一个网络往返时间RTT为200ms的广域网中,服务器处理时间SPT为100ms,那么TCP上的事务时间就大约500ms(2RTT+SPT)网页的发送是分成一系列帧进行的,则发送1个网页的时间量级在(13KB/1500B)*500ms4s解决:多个并发的抓取,多个并发的抓取,管理多个并发的连接单个下载可能需要几秒钟同时对不同的HTTP服务器建立许多socket连接过多的硬件并行好处不大爬取的性能瓶颈主要在网络和硬盘两种基本方法用多线程/多进程用带事件处理的非阻塞sockets,Concurrency,Acrawlerincursseveraldelays:ResolvingthehostnameintheURLtoanIPaddressusingDNSConnectingasockettotheserverandsendingtherequestReceivingtherequestedpageinresponseSolution:Overlaptheabovedelaysbyfetchingmanypagesconcurrently,Architectureofaconcurrentcrawler,2.链接提取和规格化,目标:得到网页中所含URL的标准型URL的处理和过滤避免多次抓取被不同URL指向的相同网页IP地址和域名之间的多对多关系大规模网站用于负载平衡的技术:内容镜像不同的主机名映射到同一个IP地址,发布多个逻辑网站的需要(Apache支持)相对URL需要补齐基础URL,节省资源:避免“同义”地址,域名与IP对应存在4种情况:一对一,一对多,多对一,多对多。一对一不会造成重复搜集后三种情况都有可能造成重复搜集可能是虚拟主机,多个域名共一个IP,内容不同,-6可能是DNS轮转-,-可能是一个站点有多个域名对应和等价,对URL进行规格化,用一个标准的字符串表示协议利用主机名查DNS会返回IP和一个主机名显式加上一个端口号(80也加上)规格化并清理好文档路径例如将/books/./papers/sigmod1999.ps写成/papers/sigmod1999.ps,3.爬取器的陷阱,防止系统异常病态HTML文件例如,有的网页含有68kBnull字符误导爬取器的网站用CGI程序产生无限个网页用软目录创建的很深的路径,爬取器的陷阱:解决方案,不存在完美的自动方案,积累历史数据很重要检查URL的长度保护模块(Guards)定期收集爬取中的统计数据发现太突出的网站(例如收集过程过多出现它),就将它放到保护模块中,以后就不考虑来自于它的URL。不爬取动态的内容(unsolvedproblem),例如由CGI表格查询产生的清除非文本类型的URLs(即它的MIME类型不是text/*),4.避免在重复网页上再提取链接,减少爬取中的别名冗余网页(不仅本身开销,还有其中的相对链接v)重复网页的检测:镜像网页和网站检测完全重复的网页(exactduplicates)对比不同URL对应网页的MD5摘要将相对于网页u的链接v表示为(h(u);v),其中h(u)是u的内容的散列。这样,两个别名的相同相对链接就有同样的表示,直接放到isUrlVisited中检查检测接近重复的网页(near-duplicates)即使是一个字符的改变也会完全改变MD5摘要例如,网页的转载常伴随有日期或者网站管理者名字的变化解决方案:网页去重,5.文本仓储,爬取器最后的任务将抓得的网页放到一个仓储(repository)中好处:将crawler和搜索引擎系统的其他功能分开,既有效率的好处,也有可靠性好处和网页相关的信息存成两个部分元数据网页内容,和网页相关信息的存贮,元数据(描述数据的数据)包括的域有content-type,last-modifieddate,content-length,HTTPstatuscode,etc.本质上可以表达成关系但通常是由特别定制的软件来管理,以避免关系数据库的访问开销(以可能的可靠性损失为代价)(我们这里不谈建立索引的问题),网页内容的存贮,典型HTML网页可以压缩到2-4kB(usingzlib)文件系统的blocksize通常是4-8kB(对网页太大!),“一个block,一个文件”损失太大因此网页的存贮管理应该由专用存贮管理器来完成提供简单的访问方法,用来便于让crawler往里添加网页后边的程序(索引器等)从中获取文档,网页存贮,小规模系统能在一台机器的硬盘上放下用存贮管理器(例如,BerkeleyDB)在一个文件内,管理基于磁盘的数据库如果后续访问操作是随机的,例如以URL为键,则可以将它配置成hash-table/B-tree。访问开销较大。如果后续访问可以是顺序的,例如索引器,则可以将它配置成一个顺序的网页记录。访问效率较高,网页存储,大规模系统仓储分布在多个存储服务器上存储服务器通过高速局域网连到crawler按照URL散列网页到存储服务器,还存在什么问题呢?,网络资源的大小和动态性同时增长效率问题1billionpages/permonth385pages/sec瓶颈DNSandtcpconnection/transferoverheads-improvenetworkbandwidthutilization没有足够的内存支持所有的数据结构真实世界是不完善的url/htmlsyntaxerror,servertrapsServercomplains,legalissues,高性能的Crawler需要,ScalableParallel,distributedFastBottleneck?NetworkutilizationPoliteDoS,robot.txtRobustTraps,errors,crashrecoveryContinuousBatchorincremental,Web信息采集当前研究方向,基于整个Web的信息采集(UniversalWebCrawling)增量式Web信息采集(IncrementalWebCrawling)基于主题的Web信息采集(FocusedWebCrawling)基于用户个性化的Web信息采集(CustomizedWebCrawling)基于Agent的信息采集(AgentBasedWebCrawling)迁移的信息采集(RelocatableWebCrawling)基于元搜索的信息采集(MetasearchWebCrawling),实际的采集器往往是几种采集技术的结合,基于整个Web的信息采集,传统的采集方式作为门户搜索引擎和大型的Web服务提供商的数据收集部分是指从一些种子URL扩充到整个Web的信息采集优点采集数据广,采集速度快,适用于广泛主题的搜索缺点采集数据乱,数据利用率低,页面失效率高,采集周期长目前在实际应用中占较为主流的地位典型代表:GoogleCrawler,百度,Large-scaleuniversalcrawlers,Twomajorissues:PerformanceNeedtoscaleuptobillionsofpagesPolicyNeedtotrade-offcoverage,freshness,andbias(e.g.toward“important”pages),Large-scalecrawlers:scalability,NeedtominimizeoverheadofDNSlookupsNeedtooptimizeutilizationofnetworkbandwidthanddiskthroughput(I/Oisbottleneck)UseasynchronoussocketsMulti-processingormulti-threadingdonotscaleuptobillionsofpagesNon-blocking:hundredsofnetworkconnectionsopensimultaneouslyPollingsockettomonitorcompletionofnetworktransfers,Universalcrawlers:Policy,CoverageNewpagesgetaddedallthetimeCanthecrawlerfindeverypage?FreshnessPageschangeovertime,getremoved,etc.Howfrequentlycanacrawlerrevisit?Trade-off!Focusonmost“important”pages(crawlerbias)?“Importance”issubjective,Webcoveragebysearchenginecrawlers,ThisassumesweknowthesizeoftheentiretheWeb.Dowe?Canyoudefine“thesizeoftheWeb”?,Maintaininga“fresh”collection,Universalcrawlersarenever“done”HighvarianceinrateandamountofpagechangesHTTPheadersarenotoriouslyunreliableLast-modifiedExpiresSolutionEstimatetheprobabilitythatapreviouslyvisitedpagehaschangedinthemeanwhilePrioritizebythisprobabilityestimate,DoweneedtocrawltheentireWeb?,Ifwecovertoomuch,itwillgetstaleThereisanabundanceofpagesintheWebForPageRank,pageswithverylowprestigearelargelyuselessWhatisthegoal?Generalsearchengines:pageswithhighprestigeNewsportals:pagesthatchangeoftenVerticalportals:pagesonsometopicWhatareappropriateprioritymeasuresinthesecases?Approximations?,增量式Web信息采集,在页面刷新时,只需要采集新产生的或者已经发生变化的页面,而对于没有变化的页面不进行采集预测变化的策略:基于统计的方法:观察网站的平均变化周期基于数据建模的方法:通过网页中变化估计模型和参数优点极大地减小数据采集量进而极大地减小采集时空开销。缺点增加了一定的判别开销。典型代表:GoogleCrawler,WebFountain。,有统计资料表明,随机选择270个站点,132个.com站点,78个.edu站点,30个.net站点和30个.gov站点下载72000个页面,40%的.com每天变化,.net和.org变化适中,.edu和.gov变化最为缓慢需要为更新较快的页面提高刷新率,用户个性化Web信息采集,轻量级的信息采集不同的用户对一个搜索引擎提交同一个检索词,他们期望的返回结果是不同的通过用户兴趣制导或与用户交互等灵活手段来采集信息优点灵活、小巧、针对性强。缺点实用性和有效性还有待提高。典型代表:SPHINX,Preferentialcrawlers,Assumewecanestimateforeachpageanimportancemeasure,I(p)WanttovisitpagesinorderofdecreasingI(p)MaintainthefrontierasapriorityqueuesortedbyI(p)Possiblefiguresofmerit:Precision|p:crawled(p)&I(p)threshold|/|p:crawled(p)|Recall|p:crawled(p)&I(p)threshold|/|p:I(p)threshold|,Preferentialcrawlers,Selectivebiastowardsomepages,eg.most“relevant”/topical,closesttoseeds,mostpopular/largestPageRank,unknownservers,highestrate/amountofchange,etcFocusedcrawlersSupervisedlearning:classifierbasedonlabeledexamplesTopicalcrawlersBest-firstsearchbasedonsimilarity(topic,parent)AdaptivecrawlersReinforcementlearningEvolutionaryalgorithms/artificiallife,Preferentialcrawlingalgorithms:Examples,Br
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农机人员培训管理制度
- 广东国企公车管理制度
- 创新支付密码管理制度
- 医院休闲科室管理制度
- 党校学员宿舍管理制度
- 公共区域使用管理制度
- 国营食堂试吃管理制度
- 培训机构罚款管理制度
- 幼儿接送学生管理制度
- 差旅报账信用管理制度
- 2025年安全月安全有奖答题考试题库(附答案)
- 浙江省宁波市2025年八年级下学期期末数学试题及答案及答案
- 北京历史文化街区风貌保护与更新设计导则
- 国能集团工会工作报告
- 2025年商业管理与商业模式创新能力考核题及答案
- T/CBMCA 012-2020室内环境清洁消毒服务规范
- 广东省深圳市南山区2023-2024学年七年级下学期期末语文试题(含答案)
- 工程力学(山东科技大学)知到智慧树期末考试答案题库2025年山东科技大学
- 补缴社保员工协议书
- 辐照灭菌委托协议书
- 水电项目实施中的环境保护措施试题及答案
评论
0/150
提交评论