浏览器收集信息原理

对于百度来说,核心业务是搜索引擎,而对于搜索引擎抓取信息的原理,蜘蛛(爬虫)是实现大量的爬去信息的一个程序。

百度已经屹立中国十来年了,在不断的技术改进中,爬虫技术也不断升级。大概以主动被动可以分为两个阶段。

 

一、百度主动抓取

1、抓取。对于更早期的百度,没有太多信息存储的时期,百度当然是主动出击,先通过配置几个大网站,然后通过这些网站的外链等又不断的爬去其他网站。这阶段也产生了所谓的SEO外链为王的口号。比如:配置新浪、搜狐等的新闻频道,然后配置门户的博客频道。通过这些网站不断的去抓取一个有一个的链接。

2、分析、存储。对于任何一个蜘蛛爬了的链接,会对内容进行分析,然后存储。

 

二、由网站主动提交规则的数据给百度

这个阶段大概也就近几年比较多见,毕竟百度的信息储存量已经多的爆炸,没有必要耗费太多精力自己主动去爬虫过多无意义的链接。

百度采取提供一个标准的XML,让网站主动把网站新生产的数据提交给百度,然后收录。

 

来源:https://www.zhihu.com/question/35373472

 

 

 每个SEO工作人员都要理解搜索引擎的基本原理,只有充分理解了搜索引擎的工作原理,才能让我们更好的从根本上理解SEO技巧,通过了解搜索引擎原理,让很多问题迎刃而解,今天51商务网(www.51987.cn)小编就跟大家讲讲搜索引擎(百度)的工作原理,第一爬行和抓取:

 

搜索引擎的工作过程一般分为三个阶段:

爬行和抓取:通过搜索引擎蜘蛛跟踪链接和访问页面,抓取内容,存入数据库。

预处理:搜索引擎抓取的数据,会进行文字提取,中文分词,索引,倒排索引,方便日后排名程序调用。

排名:用户输入查询关键以后,排名程序会调用索引库数据,按相关性生成搜索结果页面。

 

一、蜘蛛爬行和抓取是搜索引擎的第一步,收集数据的过程。

搜索引擎是爬行和访问页面的自动程序收集数据,这种程序也叫蜘蛛或者机器人。搜索引擎蜘蛛访问网站类似于我们浏览网站,也可以理解蜘蛛爬行就像司令部放出去的收集情报员一样。搜索引擎蜘蛛访问网站是和普通用户基本一致的,蜘蛛程序访问页面以后,服务器会返回HTML代码,蜘蛛程序会把代码,出入原始页面数据库,搜索引擎会同时使用很多蜘蛛程序提高抓取数据的效率。搜索引擎为了提高爬行和抓取速度,都使用多个蜘蛛进行发布和爬行,情报员多了,自然信息收集的就会更多,工作效率也就更高了。蜘蛛访问网站时,会先访问网站的robots.txt文件,如果robots.txt文件里头有止访问的文件或者目录,蜘蛛就不会抓取。其实就是入乡随俗,比如:回族人不吃猪肉,你虽然是客人,去了回族地域,也需要遵守当地习俗,就是这个意思。搜索引擎蜘蛛也是有自己的用户代理名称的,就好像警察的工作证一样,执行公务的时候都要先把证件拿出来,蜘蛛也是一样的,站长可以通过日志文件看到蜘蛛的用户代理,从而识别出到底是什么网站的搜索引擎蜘蛛。

比如:百度蜘蛛:Baiduspider+(+http://www.baidu.com/search/spider.html)

 360蜘蛛:Mozilla5.0(Windows;U;Windows NT5.1;zh-CN;)Firefox/1.5.0.11;360Spider  

谷歌蜘蛛:Mozilla5.0(compatible;Googlebot/2.1;+http://www.google.com/bot.html)

 谷歌移动:Mozilla5.0(iPhone;CPU iPhone OS 6_0 like Mac OS X)AppleWebKit/536.26(KHTML,likeGecko)Version/6.0Mobile/10A5376e Safari/8536.25(compatible;Googlebot/2.1;+http://www.google.com/bot.html) 

搜狗蜘蛛:Sogou+web+robot+(+http:www.sogou.com/docs/help/webmasters.html#07)

二、跟踪链接

为了爬取更多的页面蜘蛛,都是靠跟踪网页的的链接爬取的,从一个页面到另一个页面,蜘蛛从任何一个页面出发都能爬取到网上所有的页面,不过,网站的机构复杂,信息太多,所有蜘蛛爬行也是有一定策略的,一般是2中深度优先和广度优先。

 

 

       从理论上讲,只要给蜘蛛足够的时间,就能爬完所有网络内容。其实在实际工作过程中,带宽和时间都不是无限的,也不可能爬完所有的页面。最大的搜索引擎也只能爬取和收录小部分内容。

三、吸引蜘蛛

       由此可见,虽然蜘蛛能爬行和抓取页面,但实际上还有很多页面蜘蛛是没有爬到的位置,所以我们就要想办法去吸引蜘蛛让蜘蛛来我这里爬取和抓取页面。既然不能抓取所有页面,肯定是要让蜘蛛抓取重要的页面。哪些页面比较重要?有几个方面的影响因素:

1.  网站和页面权重

       一般质量高,资格老的网站被认为是权重比较高,所以这种网站一般搜索的页面会更多,蜘蛛的爬行深度也会比较高。

2.    更新速度

       一般每次蜘蛛爬行完了,会把页面保存起来,如果第二次来的时候页面完全没有变化,就说明内页没有更新,多次爬取对页面更新的速度有了了解,蜘蛛就不会频繁的抓取这个网站;相反,如果每次抓取都有新的内容,蜘蛛就会频繁的抓取这个网站的内容,从而,这个网站的新内容也会更快的被蜘蛛跟踪。

3.  导入链接

       无论是外部链接还是内容链接,如果想要蜘蛛抓取就必须要有链接导出,不然蜘蛛都没有机会知道这个页面的存在。高质量的导入链接也会是页面的上的导出链接的爬行深度增加。

【导入链接:其他网站链接到我站;导出链接:我链接到其他人的网站,单向的。】

4.   与首页的点击距离

       一般网站的首页是权重最高的,也是蜘蛛访问最频繁的。大部分外部链接指向的都是首页。所以距离首页越近的页面,权重也会更好,被蜘蛛爬行的几率也会越大。

5.   URL结构

       页面权重一般是收录以后进行迭代计算才是到的,那么搜索引擎蜘蛛在抓取前怎么知道这个页面的权重呢?其实蜘蛛会进行预判,除了链接、与首页距离、历史数据等因素以外,短的,层次浅的URL可能会被会被直管的认为是是权重比较高的网站。

四、地址库

       为了避免重复爬行和抓取地址,搜索引擎会建立一个地址库,记住已经被发现和没有抓取的网址,以及已经抓取的网址,蜘蛛发现链接后,并不是马上访问,而是出入地址库中,然后统一抓取。

*地址库的URL有几个来源:

       自己录入的种子网站,蜘蛛抓取页面中的URL(会先和库里的数据比对,没有的会保存。),站长提交的网页地址,站长通过XML网站地图站长平台提交的链接。

       一般站长提交上来的网址,会先存入地址库,能否被收录要看网页内容的重要性,搜索引擎的大部分内容来与蜘蛛爬取,提交的页面微乎其微,搜索引擎更喜欢自己爬取内容。

五、文件存储

       搜索引擎蜘蛛抓取的数据通统一放到原始数据库,与页面数据和用户浏览的搜索引擎完全一样,每一个URL都会有一个自己的编号。

六、爬行时文章的内容重复性检测

       检测和删除重复数据一般是在预处理过程中进行的,但是蜘蛛在爬行过程也会检测数据的的重复情况,如果遇到权重低的网站出现大量转载和抄袭的各种文章,蜘蛛就会不在继续爬行,这也是为什么很多站长看日志蜘蛛来过,但是网页基本不收录的原因。



作者:0f002a5a6427
链接:https://www.jianshu.com/p/e30362ae5856
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 
 
百度是一个搜索引擎,所有的搜索引擎在后台都有一个抓取程序,叫做蜘蛛,也有的叫爬虫,百度的就叫百度爬虫,这种程序的作用就是在网络中大量抓取网页做成快照,然后把它们分类储存在百度的数据库里,我们用百度来搜索,得到的数据其实就来自于百度的数据库。但如果你点击搜索结果,百度又会把你引向原始网页。
 
来源:https://zhidao.baidu.com/question/439146904484460684.html
posted @   记录——去繁就简  阅读(315)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示