实习了一个多星期了,做的是爬虫和数据清洗。我的任务就是找数据,然后清洗干净,交给别人建模型,然后按要求改数据的各种格式。
显而易见,我用的是Python。在工作的这几天碰到了各种之前没有考虑过的东西,有这么几个东西是我最近见到的用到的非常多的:
- 编码问题(编码问题是python和web编程里面永远的痛 cchardet)
- 正则表达式(清洗数据真的躲不过,感觉效率还不错 Python正则表达式指南)
- SQL (爬虫后端一定是要用到数据库的,sql一定要写好,我用的是sqlite,因为要给别人分享数据库文件)
- 配置文件 (ini这个还是很好用的,写web配置还是麻烦了点)
- 错误处理(在程序里面不稳定的地方一定要有错误处理,这个很重要,也很有技巧)
写python感觉最深的就是写了一天的代码发现既然没有几行,真是伤心,完全不像是java,那是大片大片的代码。说到这里,我发现公司里面真的没有人用IDE,清一色的sublime,之前自己抛弃了vim,因为这玩意儿实在是不能开箱即用,自从用上了sublime才发现现代软件配置起来还是很快的,而且足够使用了,毕竟很多程序不是直接就能调用跑的,还是要联合的调用。
说到爬虫,这个其实是比较简单的,就是简单的一个请求,然后分析html,但是为了这个请求的稳定和快速,简直是煞费苦心。需要维护html需要分析编码,然后还要从中间提取信息,还是比较费事的。虽然写好脚本就能直接跑,但是往往会发现,性能不行,达不到需求,比如说chardet就很慢,还有网上搜到的繁简转换的源码,简直是不能再慢了。所以对于python在关键的步骤上面一定要上C语言的库,纯python真的不适合做大量的计算。
当然在实习的过程中也学会了很多投机的技巧,比如说with啊、行内循环啊之类的,写起来还是很爽的。
好吧,就先到这里吧。
p.s 实习的时候感觉很奇怪,也明显感觉到自己的能力不足,还是要好好锻炼自己,特别是数学方面,必须要补起来,给自己信心!
网友评论