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

下面已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

你可能感兴趣的