雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

通过Linux命令分析Nginx日志得知百度蜘蛛的爬行情况

2024-08-16 72

前言

做网站的目的就是将自己的信息展示给目标用户,最直接的就是通过搜索引擎搜索展示。针对搜索引擎也需要优化,也就是我们说的SEO优化,新站长可能会特别关注蜘蛛爬行的次数、频率等,而做好网站SEO优化的第一步就是让搜索引擎蜘蛛爬虫经常来光顾你的网站,如果蜘蛛爬行出现异常怎么办?下面已Linux系统为例,结合几个 Linux 命令,如 cat 命令 \grep 命令 \awk 命令等可以让你清楚的知道蜘蛛的爬行情况。

下面我们以nginx 服务器为例进行分析,nginx的日志文件所在目录一般是:/usr/local/nginx/logs/access.log,这个路径根据自己网站的配置可能不一样,access.log 这个文件记录的应该是最近几天的日志情况(和网站配置的日志记录时间有关),首先请看看日志文件的大小,如果很大 (如超过 30MB) 建议别用这些命令在服务上分析,因为这些命令很消耗 CPU。建议下载下来放到本地的Linux系统上执行分析命令,以免影响网站的访问速度。
以下先以百度蜘蛛爬行统计分析为例。

相关Shell命令

百度蜘蛛爬行的次数统计

cat access.log | grep Baiduspider | wc

百度蜘蛛的详细记录

分析过程中如果执行时间较长,Ctrl+C 可以提前终止

cat access.log | grep Baiduspider

也可以用下面的命令:

cat access.log | grep Baiduspider | tail -n 10
cat access.log | grep Baiduspider | head -n 10

只看最后 10 条或最前 10 条,这用就能知道这个日志文件的开始记录的时间和日期。

百度蜘蛛抓取首页的详细记录

cat access.log | grep Baiduspider | grep GET / HTTP

百度蜘蛛好像对首页非常热爱每个钟头都来光顾,而谷歌和雅虎蜘蛛更喜欢内页。

百度蜘蛛派性记录时间点分布

cat access.log | grep Baiduspider | awk {print $4}

百度蜘蛛爬行页面按次数降序列表

cat access.log | grep Baiduspider | awk {print $7} | sort | uniq -c | sort -r

文中的 Baiduspider 改成其它蜘蛛名称,例如改成 Googlebot 就可以查看谷歌的数据。国内的搜索引擎,百度占了大半壁江山,所以主要以百度蜘蛛的爬行日志为主。

更新于:3个月前
赞一波!3

文章评论

评论问答