网站日志分析教程

作者:鼎极网络发布日期:2019-11-13浏览次数:1

日志分析

 

1.什么是网站日志,从网站日志里面外面能得到什么?

 网站日志:服务器记录了用户在网站上面的一些行为信息

 内容包括:访客的IP地址 访问的时间  访问的方式  访问的协议  访问的状态码  访问的页面  访问了页面的大小  访客的操作系统以及使用的浏览器版本及内核

2.如何获取网站日志

  登陆FTP     Weblog文件夹  下载

3.常见返回状态码:

    200  返回成功 可以正常访问

301  重定向   集中权重     

302  临时重定向

    304状态码 如果客户端发送了一个带条件的GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个304状态码。简单的表达就是:客户端已经执行了GET,但文件未变化。

    403  forbidden 服务器拒绝访问  权限问题    服务器不支持这个脚本运行

404  访问的页面不存在 not found (404错误页面)

500  并发数超了()在某个时段内所允许的大访问数量(15s

    503  服务器宕机(由于超载或进行停机维护)

 

4.IIS日志各字段讲解#Fields: date time s-sitename s-computername s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs-version cs(User-Agent) cs(Referer) cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-takendate:发出请求时候的日期。
time:发出请求时候的时间。注意:默认情况下这个时间是格林威治时间,比我们的北京时间晚8个小时,下面有说明。

s-sitename:服务名,记录当记录事件运行于客户端上的Internet服务的名称和实例的编号。
s-computername:服务器的名称。

s-ip:服务器的IP地址。

cs-method:请求中使用的HTTP方法,GET/POST

cs-uri-stemURI资源,记录做为操作目标的统一资源标识符(URI),即访问的页面文件。

cs-uri-queryURI查询,记录客户尝试执行的查询,只有动态页面需要URI查询,如果有则记录,没有则以连接符-表示。即访问网址的附带参数。

s-port:为服务配置的服务器端口号。
cs-username:用户名,访问服务器的已经过验证用户的名称,匿名用户用连接符-表示。
c-ip:客户端IP地址。

cs-version:记录客户端使用的协议版本,HTTP或者FTP

cs(User-Agent):用户代理,客户端浏览器、操作系统等情况。

cs(Referer):引用站点,即访问来源。
cs-host:记录主机头名称,没有的话以连接符-表示。注意:为网站配置的主机名可能会以不同的方式出现在日志文件中,原因是HTTP.sys使用Punycode编码格式来记录主机名。

sc-status:协议状态,记录HTTP状态代码,200表示成功,403表示没有权限,404示找不到该页面,具体说明在下面。
sc-substatus:协议子状态,记录HTTP子状态代码。
sc-win32-statusWin32状态,记录Windows状态代码。
sc-bytes:服务器发送的字节数。
cs-bytes:服务器接受的字节数。
time-taken:记录操作所花费的时间,单位是毫秒。

 

5.分析工具

 5.1 光年日志分析工具

 5.2 excel表格

 5.3爱站工具包日志分析

  日志的简单分析

  1)注意那些被频繁访问的资源

  2)注意那些你网站上不存在资源的请求。常见的扫描式攻击还包括传递恶意参数等:

3)观察搜索引擎蜘蛛的来访情况(看网站的抓取情况)

问题

  1、新站刚上线,看看搜索引擎有没有来你网站抓取了;

  2、网站收录异常,或者被k,通过日志可以了解搜索引擎是否还有来光顾你的网站;

3、对于网站的问题进行解决,必须要读懂日志;

  、基础信息

  我们从日志中能够获取哪里基础信息呢?总抓取量、停留时间(h)及访问次数这三个基础信息,可以从光年日志分析工具中统计出来。然后,通过这三个基础信息算出:平均每次抓取页数、单页抓取停留时间。然后用我们的MSSQL提取蜘蛛抓取量,根据以上的数据算出爬虫重复抓取率。

  查看搜索引擎蜘蛛爬行总次数

  一个网站的收录首先要搜索引擎蜘蛛来到网站爬去才能够实现。通过查看日志能够清楚的看到每天蜘蛛访问网站的总次数有多少,从而大致的判断网站的权重如何。一个高权重的网站,蜘蛛来访的次数相对是较多的,相反,一个低权重的网站,即使有非常庞大规模的内容,蜘蛛来访的次数依旧有限。爬行次数有限,分配的时间和深度也就有限,所以收录也就受到了限制。所以我们的重点就是多提供百度来访我们网站的入口,只有入口多了,访问次数才能得到提升。

  平均每次抓取页数=总抓取量/访问次数 单页抓取停留时间=停留时间*3600/总抓取量 爬虫重复抓取率=100%—抓取量/总抓取量

  查看爬行榜前十名的页面情况

  除了查看蜘蛛总访问次数以及爬行目录的整体情况,剩下一个非常重要的就是查看爬行总页面的情况。我平时分析网站的时候,时常会看到,被蜘蛛爬行前几名的页面都是一些无关紧要的页面,比如B2C购物车链接页面、比如联系我们页面、一些主题中CSS文件,这些页面和文件对排名和收录本来没有实际的帮助,但现实情况是蜘蛛爬行的多,所以就会造成浪费,毕竟蜘蛛来访一个网站的总时间和总爬行次数是一定的,总抓取深度也是一定的,如果时间都浪费在了这些页面上,那么对于重点的内页收录就会受到影响。因此通过日志发现之后,就需要在robots.txt中屏蔽掉,或者在页面meta中屏蔽掉。

  查看平均爬行一次的抓取深度

  通过日志查看平均一次的抓取深度能有效的了解到网站内部结构的不足。比如百度蜘蛛在某天访问网站总共818次,抓取量是978,那么平均每次抓取的页面数就为1.2页。其实这个数据也是普遍存在的现象,很多网站都存在这样的现象。这充分说明了网站的内部链接做的不足,或者网站结构存在问题,或者是内容出现了高度重复现象,导致蜘蛛来到网站,要么没有什么新发现,要么被结构所阻止,爬行不到新的页面。毕竟,蜘蛛平均在我们网站存在的整体时间是有限的,在这个有限的时间内,如果我们自己设置了障碍,那么蜘蛛就会走掉,是非常可惜的事情。

  目录抓取情况

  用MSSQL提取出爬虫抓取的目录,分析每日目录抓取量。可以很清晰的看到每个目录的抓取情况

  通过日志查看所有被爬行目录的整体情况,能让我们知道搜索引擎爬行多的目录是哪些,是否是我们想要提供给用户的目录。一般可以非常清楚的看到排名前十位的目录,如果这些目录并不是我们重点提供给用户内容的目录,那么就需要做出调整,说明当前的一些目录被多度爬行了,而真正有价值的目录没有被搜索引擎过度重视,要及时发现并找到原因。

  第二、时间段抓取

  重在分析每日的抓取情况,找到相应的抓取量较为密集的时间段,可以针对性的进行更新内容。同时,还可以看出,抓取不正常情况。服务器是否稳定,是否被攻击

  第三,IP段的抓取

  每日每个IP的抓取量,同样我们需要看整体,如果IP段没有明显的变化的话,网站升降权是没有多大问题的。因为在网站升权或者降权的时候,爬虫的IP段会更换的。

  第四,状态码的统计

  在这个之前你需要了解下,HTTP状态码返回值代表是什么。

  如果你的网站出现太多的304,那么一定会降低搜索引擎的抓取频率以及次数

  4)观察访客行为应敌之策:

  1、封杀某个IP

  2、封杀某个浏览器类型(Agent)

  3、封杀某个来源(Referer)4、防盗链

  5)文件重命名作用:

  1.对访问时间进行统计,可以得到服务器在某些时间段的访问情况。

  2.IP进行统计,可以得到用户的分布情况。

  3.对请求URL的统计,可以得到网站页面关注情况。

4.对错误请求的统计,可以更正有问题的页面。


6.日志分析思路

图片.png 

 

  代码 说明

  100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的部分,正在等待其余部分。

  101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。

  2xx (成功)

  表示成功处理了请求的状态代码。

  代码 说明

  200 (成功

关键词:

什么是seo ?

  SEO(Search Engine Optimization),汉译为搜索引擎优化。搜索引擎优化是一种利用搜索引擎的搜索规则来提高目的网站在有关搜索引擎内的排名的方式。

  SEO就是在了解搜索引擎排名算法的基础上,对网站进行站内和站外的优化,对网站存在的弊端加以更正,提高网站关键词在搜索引擎中的排名,获得更多流量与转化率,从而获得盈利。

SEO可分为站外SEO和站内SEO两种。

了解搜索引擎工作原理

站内SEO

站外SEO

排名算法

站长工具

案例分析

搜索引擎工作原理

爬行

抓取

预处理(索引)

排名

搜索引擎自动信息搜集功能分两种。

      1、定期搜索,即每隔一段时间,搜索引擎主动派出“蜘蛛”程序,对一定IP地址范围内的互联网站进行检索,一旦发现新的网站,它会自动提取网站的信息和网址加入自己的数据库。

      2、提交网站搜索,即网站拥有者主动向搜索引擎提交网址,它在一定时间内(2天到数月不等)定向向你的网站派出“蜘蛛”程序,扫描你的网站并将有关信息存入数据库,以备用户查询。

步:爬行

    搜索引擎是通过一种特定规律的软件跟踪网页的链接,从一个链接爬到另外一个链接,像蜘蛛在蜘蛛网上爬行一样,所以被称为“蜘蛛”也被称为“机器人”。搜索引擎蜘蛛的爬行是被输入了一定的规则的,它需要遵从一些命令或文件的内容。

第二步:抓取

  搜索引擎是通过蜘蛛跟踪链接爬行到网页,并将爬行的数据存入原始页面数据库。其中的页面数据与用户浏览器得到的HTML是完全一样的。搜索引擎蜘蛛在抓取页面时,也做一定的重复内容检测,一旦遇到权重很低的网站上有大量抄袭、采集或者复制的内容,很可能就不再爬行

爬行方式

               广度优先                                          深度优先

 1.png                                    2.png

 

 

影响蜘蛛爬行的因素

网站、页面权重高。

网站更新度:蜘蛛每次爬行都会把页面数据储存起来,第二次来的时候发现页面没有变化,就不再抓取。如果页面经常更新,蜘蛛来的也频繁。

导入链接

与首页的点击距离。

是否导出链接过多

是否有网站地图

是否设置404页面

第三步:预处理(索引)

 

 3.png

 搜索引擎将蜘蛛抓取回来的页面,进行各种步骤的预处理。

      1.提取文字(去除格式代码,留文字部分)

      2.中文分词

      基于词典匹配,词典匹配相对降低,准确性取决于词典的完整性与更新度

      基于统计,分析大量的文字样本,统计出字与字相邻出现的概率,几个相邻出现次数越多越可能形成一个词

      两种各有优缺点,一般混合使用

      3.去停止词

      停止词就是那些页面中出现频率很高,却对内容没有任何影响的词,如“的”、“地”、“得”之类的助词,“啊”、“哈”、“呀”之类的感叹词,“从而”、“以”、“却”之类的副词或介词。这些词被称为停止词,因为它们对页面的主要意思没什么影响。搜索引擎在索引页面之前会去掉这些停止词,使索引数据主题更为突出,减少无谓的计算量。

      4.消除噪声

      绝大部分页面上的一部分内容对页面主题也没什么贡献,比如版权声明文字、导航条、广告等。所以搜索引擎在预处理的过程会把这些无关内容进行消噪处理。

      5.去重

      同一篇文章重复出现在不同的网站或同网站不同的网址上,搜索引擎不喜欢重复性的内容。

      索引前进行识别和删除重复内容;去重方法:选取一部分特征关键词(一般是出现频率高的词),十个左右,计算这些词的数字指纹(MD5算法);特征关键词有任何微小的变化,计算出来的数字指纹都有很大的差距。   

      6.正向索引

      经过以上步骤之后,搜索引擎得到的就是独特的、能反映页面主体内容的、以词为单位的内容。接下来搜索引擎索引过程就是可以提取关键词,按照分词程序划分好的词,把页面转换为一个关键词组成的集合,同时记录每一个关键词在页面上的出现频率、出现次数、格式、位置。这样,每一个页面都可以记录为一串关键词集合,其中每个关键词的词频、格式、位置等权重信息也都会记录在案了。


文件ID

内容

文件1

关键词1,关键词2,关键词7,关键词10,…… 关键词L

文件2

关键词1,关键词7,关键词30, ……,关键词M

文件3

关键词2,关键词70,关键词305,……,关键词N

……


文件6

关键词2,关键词7,关键词10,……,关键词X

……


文件x

关键词7,关键词50,关键词90,关键词Y

 

      7.倒排索引

      正向索引还不能直接用于排名,因为在搜索某个关键词的时候,排名程序需要扫描所有索引库中的文件,计算相关性,这样的计算量无法满足实时返回排名结果的要求,所以搜索引擎会将正向索引数据库重新构造为倒排索引,把文件对应到关键词的映射转换为关键词到文件的映射,在倒排索引中关键词是主键,每个关键词对应着一系列文件,这些文件中都出现了这个关键词。这样当用户搜索某个关键词是,排序程序在倒排索引中定位到这个关键词,就可以马上找出所有包含这个关键词的文件。

 

关键词

文件

关键词1

文件1,文件2,文件7,文件58,……,文件

关键词2

文件l,文件7,文件30,……,文件M

关键词3

文件2,文件70,文件305,……,文件n

……

……