公司的一个项目,首先须要过滤一下邮件
邮件的主要内容就是应聘信息
固然会产生不少的垃圾邮件,好比智联招聘发的广告、猎头邮件和网易广告等
这里首先要过滤一下邮件,把没有用处的垃圾邮件过滤掉python
本着先易后难的原则,首先使用简单的过滤方法
简单的说就是根据标题中的关键词,发件人邮箱来过滤邮件
这样的过滤方法其实过滤的准确性仍是挺高的编码
固然啦,准确率和召回率可能仍是要差一点的调试
通过初步过滤以后,接下来要作的就是信息的抽取code
这个东西难度较大,
抽取的东西有地址、人名、公司名、职位、联系方式等
机器识别毕竟没法达到人类的高度对象
本次开发中主要使用python来作,这里写一下python项目须要注意的问题开发
一、不要滥用try ... except .....字符串
感受这个问题很严重,若是滥用,并且还没处理好的话,出了问题根 本就没法调试,返回错误若是不对的话根本就没法追踪
二、要注意编码问题get
在使用python处理中文的时候,编码问题是格外重要,不过python的 编码仍是比较简单,我遇到的有gbk、gb18030、gb23十二、utf8这几 种使用的时候统一转为utf8比较方便
三、时间的处理email
这个仍是比较麻烦的,邮件中的时间都是字符串类型,关键是要知道 怎么去转化,例如: Wed, 2 Mar 2016 14:31:24 +0800 (CST) 这里面的Wed, 2 Mar 2016 14:31:24部分,能够经过如下方式来作 time.strptime('Wed, 2 Mar 2016 14:31:24', '%a,%d %b %Y %H:%M:%S') 这样也能生成一个time的对象 缺点就是须要截取一部分,并且不知道时间格式是否会变化,若是变化的话那也是要出问题的 这里面email模块提供了一个解析的方法 from email import utils utils.mktime_tz(utils.parsedate_tz(timestr)) 这样返回的是时间戳,而后再用 time.localtime(stamptime) 就能够返回正常的时间格式了 其实email的utils方法提供了不少的解析邮件的方法,好比: utils.parseaddr()就能够把msg.get('From')里面的内容解析成邮箱