shell分析日志教程1:快速批量提取404错误页面URL

seofangfa SEO教程 shell学习笔记54,9032阅读模式

2014年6月21日补充

刚在文章留言里看到有朋友指出,下面提到的这些,只能在windows系统实现,用linux系统的朋友可能没这么复杂了,因为linux直接内置这些命令的,根本不需要这个cygwin软件。我把读者默认地当成是用过cygwin的人了。在此我声明一下,如果需要进行下面所有的操作,你首先得了解什么是cygwin,以及能搞定cygwin在windows系统下的安装。

cygwin的下载及安装请看这篇百度经验文章:http://jingyan.baidu.com/article/200957619b0c30cb0621b478.html,回头我再写一个侧重于SEO工具方面的详细安装教程。

第一步:合并最近一个月的日志文件

转到日志文件存放的目录,最简单的办法是输入cd命令后,把文件夹拖进shell窗口中来:

cd /cygdrive/c/Users/fang/Desktop/wwwlog

合并最近一个月的日志文件,并输出结果到all.txt文件中:

cat *.log >all.txt

shell分析日志教程1:快速批量提取404错误页面URL-图片1

第二步:拆分出百度蜘蛛的日志

合并完日志文件,拆出百度蜘蛛日志太简单了,一条grep命令就行:

grep "Baiduspider" all.txt >bd.txt

shell分析日志教程1:快速批量提取404错误页面URL-图片2

第三步:批量提取404错误页面。

且仅提取百度蜘蛛遇到的404错误页面,其中的$17是我当前日志文件404状态码所在的分段,去重并仅保留html/php/asp三种格式的网页。

很多朋友问我这个$17值怎么来的,我贴出一段示例日志用来说明一下,每一项都是以空格隔开的,大家数一下自己的404状态码在第几段就行了,图太小看不清的话,右键在新窗口打开即可看原图:

shell分析日志教程1:快速批量提取404错误页面URL-图片3

cat bd.txt|awk '{if($17~"404")print "http://www.yaranpeixun.com"$7}'|sort|uniq|egrep "html|php|asp" >404.txt

shell分析日志教程1:快速批量提取404错误页面URL-图片4

最终效果如下:熟练的话,不到分钟就可以把最近一个月的404错误页面URL给提取到了:

shell分析日志教程1:快速批量提取404错误页面URL-图片5

上传这个404错误页面列表到你网站根目录下,然后我们就可以到百度站长平台去提交这些404错误页面了:

shell分析日志教程1:快速批量提取404错误页面URL-图片6

其实上面的所有代码,都可以写到一块儿去,我们可以通过管道命令“|”来实现:

cat *.log|grep "Baiduspider"|awk '{if($17~"404")print "http://www.yaranpeixun.com"$7}'|sort|uniq|egrep "html|php|asp" >404.txt

shell分析日志教程1:快速批量提取404错误页面URL-图片7


上面所用到的所有命令,都可以在这篇文章中得到详细的使用方法介绍:Shell分析日志常命令快速入门,请自行补脑一下。在下一篇文章当中,我将为你继续分享我在学习shell和利用shell分析日志过程中一些心得。

如果你觉得这篇文章对你有帮助,可以在下面给我留言告诉我,谢谢!:)


2014年6月27日补充

如果想再严谨一点话,可以把上面得到的404错误URL再拿来跑一遍,防止某些情况下蜘蛛在爬到这个URL时,该URL只是临时打不开的,当我们在分析的时候它已经可以打开了。下面是批量跑404URL的shell代码,点击下载源代码。

跑完1744条URL用时7分多钟。

shell分析日志教程1:快速批量提取404错误页面URL-图片8

while read line
do
curl -w "$line "%{http_code}"\n" -s -o /dev/null -I "$line" >>404url.txt
done <404.txt

跑完以后会自动生成404url.txt,结果如下所示:

shell分析日志教程1:快速批量提取404错误页面URL-图片9

检查一批URL的HTTP状态:cat url.txt|while read line; do curl -I $line -m 5 --connect-timeout 5 -o /dev/null -s -w "$line "%{http_code}"\n"; done>ok.txt

文章末尾固定信息

weinxin
我的微信
我的微信
微信扫一扫
 
seofangfa
  • 本文由 seofangfa 发表于 2014年6月20日19:23:14
  • 转载请务必保留本文链接:https://wp.fangfa.me/seo-tutorial/shell-extract-404-pages.html
评论  5  访客  5
    • 游客
      游客 0

      可以注明一下是***in专用,linux不适用

        • 方法
          方法

          @ 游客 谢谢你的建议,我现在就在文章开头声明一下。

        • Sunny
          Sunny 7

          方法老师,你其实是雷锋吧!

          • 张戈
            张戈 0

            不错的方法,借鉴了。 comment” />

          匿名

          发表评论

          匿名网友
          :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
          确定

          拖动滑块以完成验证