浏览器收集信息原理
对于百度来说,核心业务是搜索引擎,而对于搜索引擎抓取信息的原理,蜘蛛(爬虫)是实现大量的爬去信息的一个程序。
百度已经屹立中国十来年了,在不断的技术改进中,爬虫技术也不断升级。大概以主动被动可以分为两个阶段。
一、百度主动抓取
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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?