站长分享:搭建爬虫日志分析自动化的流程

王朝学院·作者佚名  2016-08-22
窄屏简体版  字體: 小  |  中  |  大  |  超大  

忙乎了一天。把爬虫分析完全自动化的系统搭建了起来。以后每天爬虫的数据自动发到邮箱中。效果如下(数据为测试数据,不具有任何参考性。)

大致流程:(均为linux系统)

1.根据ua(这边假设为百度),将日志中的爬虫日志单独拆分到baidu.log(只存当天的,节约主服务器的空间)

2.将baidu.log同步到另外日志分析服务器上,通过sftp下载

3.根据日期重命名为{date}.log

4.拆分出各种数据,输出到数据文件

5.从数据文件中读取前X行,生成html代码

6.通过formail发送到指定收件人。

一些注意点

1.sftp远程登陆的时候需要交互密码,用过ssh-keygen生成公钥scp上传到远程服务器端的就可以跳过这个步骤。

2.分析数据的时候注意效率问题。多使用数组和临时文件,尤其是日志量很大的时候(比如分析200,301,302,404等数量的时候)

3.通过find命令的-ctime参数可以快速找出x天前或者x天内的文件,便于整理和分析。例如分析7天内的数据(周报),或者清理30天前的日志(节约磁盘空间)

4.我写的脚本基本没考虑容错,所以经常冒出来一些小问题,需要不断的调试改进。

5.formail的charset设置为utf-8,就可以发送中文的邮件了。

6.通过ed命令可以在行首插入文本。具体做法 (echo '0a';echo 'TEXT';echo '.';echo 'wq') | ed -s FILENAME 这样head取出来的数据,后期拿数据源在Excel中做报表的时候方便。(其他再运行个tail也可以。写上面那句话的时候觉得自己犯2了)

TEXT为需要插入的文本。

FILENAME为需要被插入的文件。

(这一点都不邪恶。。)

本文地址:http://www.imyexi.com/?p=673

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航