您现在的位置是:首页 >  云笔记 >  SEO学习 >  文章详情

百度蜘蛛是怎样抓取一个网站内容的?

admin   2019-12-16 15:48:43   204人已围观

       最近一直在看SEO相关的资料,我很好奇的是像百度蜘蛛是怎样抓取一个网站内容的?在网上找了一圈发现都是从百度搜索学院里面copy出来的那几篇文章: 

                  1.搜索引擎抓取系统概述(一)

                       2.搜索引擎抓取系统概述(二)   

         3.搜索引擎检索系统概述

4.百度spider介绍  

        5.如何识别Baiduspider

                      6.只需两步,正确识别百度蜘蛛

         在网上看得最多的一句总结就是:百度蜘蛛第一、爬取,第二、存储,第三、预处理,第四、建立索引,第五、排名。这种描述没啥大的问题但也没啥卵用。我就想知道百度蜘蛛来到我的网站上它是怎么爬取内容,爬取的先后顺序,爬取的频率?

第一、网页蜘蛛怎样才能到我的网站上来;

          关于这个问题的讨论网上也有很多,总结概括一下就是:1、指向自己网站的外链;2、去站长平台提交网站上的url;3、sitemap文件和网站首页的链接。第1和第2点网上有很多相关的描述和做法指引,没必要再去重复。我想聊聊我对第3点的一点认识,首先一定要给自己的站点建立一个sitemap文件,并且这个文件一定要放在网站根目录下面,一定要可以正常访问,无权限控制。具体的文件建立可以参考各个搜索引擎的指引(eg:百度sitemap文件)。还要注意这个文件上的url和更新评率,我拿我自己的部分文件说明一下:

<?xml version="1.0" encoding="utf-8"?>
<!-- XML文件需以utf-8编码
priority优先权标签,优先权值0.0-1.0数字越大优先级越高
-->
<urlset>
<url>
<loc>https://www.onekbit.com/adminUserAction/toIndex.do</loc>
<lastmod>2018-12-23</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.onekbit.com/FrontPages/systemMgt/aboutus.jsp</loc>
<lastmod>2018-12-23</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.onekbit.com/ViewBlog/toBlogIndex.do</loc>
<lastmod>2018-12-23</lastmod>
<changefreq>hourly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.onekbit.com/ViewBlog/blog/BID20181223100027</loc>
<lastmod>2018-12-23</lastmod>
<changefreq>hourly</changefreq>
<priority>1.0</priority>
</url>
</urlset>

这里挑选了几个有代表性的url展示一下,我最开始的url很长并且还带有很多参数,放到xml文件中还会报错,后面全部优化成这种简单连接。每天坚持多写一些有实际价值的原创文章频繁更新这个文件。

     关于这个文件的更新还需要多注意观察一下你网站上百度访问日志:

123.125.71.38 - - [23/Dec/2018:21:18:36 +0800] "GET /Sitemap.xml HTTP/1.1" 304 3673

         这是百度蜘蛛在我网站上的一行访问日志,注意其中的304代码就表示:304 未修改 — 未按预期修改文档。如果每天过来得到的都是304那么对蜘蛛而言反正你也没啥信息可取来不来都一样,它的抓取评率自然就会越来越低,最后也就不来了。所以一定要定时定量更新网站原创让蜘蛛每次都可以抓取到信息回去,这样蜘蛛才会来得频繁。最后一个小点就是网站内部链接一定要四通八达,让蜘蛛获得更多指向你网站的链接回去。

第二、网页蜘蛛来到网站上爬取的先后顺序

      网页蜘蛛来到一个网站目录下第一个访问的文件应该是robots.txt,正常的情况下应该是看这个文件有还是没有,没有就表示整个网站都可以抓取,有就要看文件中的具体限制来抓取,这是正常搜索引擎的一个规定。至于访问完robots.txt后第二个应该访问的是首页还是sitemap的文件这个网上说法有点争议,但是我倾向相信第二访问sitemap文件,我以我网站上一段蜘蛛访问日志来侧面证明一下:

66.249.64.136 - - [22/Dec/2018:04:10:05 +0800] "GET /robots.txt HTTP/1.1" 404 793
66.249.64.140 - - [22/Dec/2018:04:10:06 +0800] "GET /Sitemap.xml HTTP/1.1" 200 3253
66.249.64.136 - - [22/Dec/2018:04:10:38 +0800] "GET /ViewBlog/blog/BID20181204100011 HTTP/1.1" 200 4331
66.249.64.136 - - [22/Dec/2018:04:10:48 +0800] "GET /ViewBlog/blog/BID20181210100016 HTTP/1.1" 200 4258
66.249.64.138 - - [22/Dec/2018:04:11:02 +0800] "GET /ViewBlog/blog/BID20181213100019 HTTP/1.1" 200 3696
66.249.64.138 - - [22/Dec/2018:04:11:39 +0800] "GET /ViewBlog/blog/BID20181207100014 HTTP/1.1" 200 3595
66.249.64.140 - - [22/Dec/2018:04:12:02 +0800] "GET /ViewBlog/blog/BID20181203100010 HTTP/1.1" 200 26710 66.249.64.138 - - [22/Dec/2018:04:15:14 +0800] "GET /adminUserAction/toIndex.do HTTP/1.1" 200 32040

我使用nslookup 66.249.64.136这个IP:

nslookup命令结果

从日志来看第一访问的是robots.txt文件,第二是sitemap文件,第三是这个sitemap上新增有改动的url,第四好像是经过一下首页。从蜘蛛的IP来观察我猜测是一类专门用来获取网页链接,另外一类专门用来抓取网页内容。百度站长里面有一张图是描述百度蜘蛛的工作流程:

这个也可以看出先获得url后读取内容。

第三、网页蜘蛛对一个网站的爬取频率

 其实上面已经提到了网页蜘蛛对网站爬取频率相关的因素,我感觉最重要的还是定时定量更新自己网站上的原创内容,提供网站主题相关信息质量,其次是多做一些导入链接的工作。



分享到:

编辑发布时间:2019-12-16 15:48:43