㊙️【教你用python挣零花钱】自动化简历内推,学弟直呼牛逼!!

最近,小编在处理简历时,发现大量简历需要一个个打开文件,复制姓名、邮箱、电话号码、学历等关键信息,效率特别低且部分文件无法直接复制。于是,小编便写了简历解析处理的脚本,支持文件格式有:doc,docx,pdf。

ps. 上月战绩,内推400+人,内推成功8人,入职5人,收入8000*2 + 5000*3=31000 元。

{'感谢您的投递': 331, '简历处理中': 19, '简历初筛': 5, '本轮通过': 6, 'Offer已发放': 1, '进行中': 2, '拒绝Offer': 3, '接受Offer': 5} 

 

一 准备工作

脚本功能:分析简历文本,一键内推

输入:要解析的文件路径

输出:解析的内容,包括不限于姓名、邮箱、电话号码、学历等信息。

环境准备:python 3.6 、mac(下文中doc转docx是mac写法,windows更简单,导入win32的包即可)

需要导入的包

# encoding: utf-8
import os, sys
import docx
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.layout import LAParams
from pdfminer.converter import PDFPageAggregator

二 开始解析

2.1 获取简历文件

def get_files(path):res = []for i in os.listdir(path):# 去掉临时文件if os.path.isfile(path+i) and '~$' not in i and '.DS' not in i:# 去重 1.doc 和 1.docxif (path+i).split(".")[0] not in str(res):res.append(path+i)return res

2.2 解析PDF

得到res文本后,可以通过正则,匹配出邮箱,手机号,学历等


def pdf_reader(file):fp = open(file, "rb")# 创建一个与文档相关联的解释器parser = PDFParser(fp)# PDF文档对象doc = PDFDocument(parser)# 链接解释器和文档对象parser.set_document(doc)# doc.set_paeser(parser)# 初始化文档# doc.initialize("")# 创建PDF资源管理器resource = PDFResourceManager()# 参数分析器laparam = LAParams()# 创建一个聚合器device = PDFPageAggregator(resource, laparams=laparam)# 创建PDF页面解释器interpreter = PDFPageInterpreter(resource, device)# 使用文档对象得到页面集合res = ''for page in PDFPage.create_pages(doc):# 使用页面解释器来读取interpreter.process_page(page)# 使用聚合器来获取内容layout = device.get_result()for out in layout:if hasattr(out, "get_text"):res = res + '' + out.get_text()return res

2.3 解析word

        待优化情况:word中如果包含execl,无法解析。

def word_reader(file):try:# docx 直接读if 'docx' in file:res = ''f = docx.Document(file)for para in f.paragraphs:res = res + '\n' +para.textelse:# 先转格式doc>docxos.system("textutil -convert docx '%s'"%file)word_reader(file+'x')res = ''f = docx.Document(file+'x')for para in f.paragraphs:res = res + '\n' +para.textreturn resexcept:# print(file, 'read failed')return ''

2.4 完整代码

# encoding: utf-8
import os, sys
import docx
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.layout import LAParams
from pdfminer.converter import PDFPageAggregatordef get_files(path):res = []for i in os.listdir(path):# 去掉临时文件if os.path.isfile(path+i) and '~$' not in i and '.DS' not in i:# 去重 1.doc 和 1.docxif (path+i).split(".")[0] not in str(res):res.append(path+i)return resdef pdf_reader(file):fp = open(file, "rb")# 创建一个与文档相关联的解释器parser = PDFParser(fp)# PDF文档对象doc = PDFDocument(parser)# 链接解释器和文档对象parser.set_document(doc)# doc.set_paeser(parser)# 初始化文档# doc.initialize("")# 创建PDF资源管理器resource = PDFResourceManager()# 参数分析器laparam = LAParams()# 创建一个聚合器device = PDFPageAggregator(resource, laparams=laparam)# 创建PDF页面解释器interpreter = PDFPageInterpreter(resource, device)# 使用文档对象得到页面集合res = ''for page in PDFPage.create_pages(doc):# 使用页面解释器来读取interpreter.process_page(page)# 使用聚合器来获取内容layout = device.get_result()for out in layout:if hasattr(out, "get_text"):res = res + '' + out.get_text()return resdef word_reader(file):try:# docx 直接读if 'docx' in file:res = ''f = docx.Document(file)for para in f.paragraphs:res = res + '\n' +para.textelse:# 先转格式doc>docxos.system("textutil -convert docx '%s'"%file)word_reader(file+'x')res = ''f = docx.Document(file+'x')for para in f.paragraphs:res = res + '\n' +para.textreturn resexcept:# print(file, 'read failed')return ''def file_reader(file):if 'doc' in file:res = word_reader(file)elif 'pdf' in file:res = pdf_reader(file)else:res = '不是doc,也不是pdf,文件格式不支持!'return resif __name__ == '__main__':path = "/Users/XXXXX/Mine/XXXXX/"abs_files = get_files(path)print(abs_files)for file in abs_files:file_text = file_reader(file)print(file_text)

三 效果展示

姓名  工龄  电话  学历背景  公司背景  关键标签  邮箱

  


本期实现:任何格式的简历,解析成文本,便于后续筛选优质简历。

下期揭晓:简历分析,推送到最适合的岗位,包括学历背景,稳定性,公司背景,擅长技术组件等。

 

我是桥哥,专注分享互联网黑科技,点赞、收藏不迷路 !!!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494739.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL流浪记(六)—— CONCAT到GROUP_CONCAT的沿途风景(图文详解)

本文中的案例如下,可以自己测试一下,有问题可以留言哦。 CREATE TABLE staff (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),job_id INT, joindate DATE,salary DECIMAL(7,2) ); INSERT INTO staff(name,job_id,joindate,salary) VALUES (孙悟…

收藏!最新大数据产业地图 十大生态金矿百大公司起底【附下载】

来源:智东西人工智能的崛起,加速了大数据技术的应用落地。据中国大数据产业生态联盟调查显示,国内大数据企业年营业额4000万人民币以上的已经超过40%,这意味着,这些企业已经度过生存期,开始进入应用落地和品…

【一鸣离职,左晖去世】互联网老兵给大家的三个建议

2021年5月20日,除了娱乐圈的分分合合,互联网圈发生了两件大事: 1、字节跳动创始人张一鸣发布内部全员信,宣布卸任CEO一职。 2、贝壳发布讣告,公司创始人兼董事长左晖先生因疾病意外恶化于2021年5月20日…

科大讯飞:让世界听见AI的声音

来源:华为怀揣着“让世界聆听我们的声音”的梦想,科大讯飞依托世界领先的核心技术,引领智能浪潮,服务亿万用户,从中国语音产业的拓荒者一跃成为世界人工智能产业的领军者,而最初科大讯飞把语音作为切入点却…

Linux中的chmod详解

chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令。Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。只有…

【程序员薪资】2021年04月新鲜出炉,看看你拖后腿了吗?

程序员一直都是一个备受人们关注的群体。据IDC统计,全球约有1850万名程序员(数据还在持续增长),中国占10%左右。随着近年全国互联网创业热潮的兴起,“互联网”、“云计算”以及“智能硬件”等领域发展迅速,…

CICC科普栏目|神经网络浅讲:从神经元到深度学习

图1 人脑神经网络来源: 计算机的潜意识摘要:神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向–深度学习的基础。神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向–深度学习的基础。学习神经网络不仅可以让你掌握一门强大的…

linux安装Redis(超详细,只要三分钟,每一步命令都有命令截图及运行截图)

Redis redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取…

鬼才!用Python计算圆周率 π

目录 一、圆周率的历史发展 1、中国 2、印度 3、欧洲 二、用python计算圆周率 A货:什么!你不会背圆周率(鄙夷的眼神) 3.1415926535 8979323846 26433... 桥哥:我会算呀 !!! 一…

大数据常见问题:数据倾斜

offer收割系列介绍: 1、分享桥哥本人或小伙伴在面试大厂时遇到的真题,并给出参考答案!!如果能帮到大家,点赞、收藏、评论是对我最大的支持!! 2、涉及岗位:主要为大数据开发、数据仓…

一图看懂新一代人工智能知识体系大全

来源:财经头条摘要:人工智能的发展离不开基础支持层和技术层,基础支持层包括大数据、计算力和算法;技术层包括计算机视觉、语音识别和自然语言处理。人工智能的技术本质是什么,本文会详细分析。人工智能的发展离不开基…

阿里、字节offer收割系列:数据仓库岗(面试真题,建议收藏)

【offer收割系列介绍】 1、分享桥哥本人或小伙伴在面试大厂时遇到的真题,并给出参考答案!! 2、涉及岗位:主要为大数据开发、数据仓库(桥哥干过的),其它岗位也可参考 3、涵盖技术:mys…

MIT新开发的 AI 模型有望改进恶性脑瘤治疗

来源:人工智能和大数据美国研究人员新近开发出一种人工智能模型,能够为胶质母细胞瘤患者设计出最小剂量给药方案,在缩小肿瘤的同时减少药物带来的毒副作用,改进患者生活质量。胶质母细胞瘤是一种常见的恶性脑瘤,常见疗…

建议收藏丨大数据集群常用监控命令(内存、磁盘、CPU、网络)

大家好,我是明月十四桥!! 擅长领域:python黑科技、大数据后端研发、数据仓库 今日重点: ① 学会查看linux各种状态,包括:网络IO、磁盘、CPU、内存等; ② 学会理解命令所代表的含义&a…

中科院王飞跃:新的智能全球化将要来临,人工智能标准化为时尚早

中国科学院自动化研究所复杂系统管理与控制国家重点实验室主任王飞跃来源:财经网摘要:8月11日,中国科学院自动化研究所复杂系统管理与控制国家重点实验室主任王飞跃在由厚益控股和《财经》杂志联合主办主题为“共享全球智慧 引领未来科技”的…

建议收藏丨sql行转列的一千种写法!!

大家好,我是明月十四桥!! 爱好特长: 1、爱好和特长有很多,擅长word、excel、ppt、wind等软件的安装与卸载; 2、精通PE、PS、PB、DCF、PEG等单词的拼写; 3、熟悉Windows、Linux、Mac、Android、I…

深度学习并非万能:你需要避免这三个坑

作者 | George Seif编译 | 专知整理 | Mandy, Sanglei摘要:本文是人工智能专家George Seif撰写的博文,介绍了在当前深度学习比较火热的情景下需要避免的三个坑。Tweaking Neural Net ParametersThree reasons that you should NOT use deep learning深度…

万字长文丨7个经典问题,助你拿下Java面试(建议收藏)

擅长领域:execl、word、ppt 等 今日重点: ① 掌握面试的基本素质; ② 学会7个典型的java面试问题。 有问题的小伙伴欢迎加我主页vx。评论、点赞、收藏是对我最大的支持!!! 目录 一、面试的目的 二、面…

应用人工智能有助心理学发展

来源: 中国社会科学报摘要:人工智能及相关技术的发展,为心理学研究提供了突破性的研究方法和工具;心理学对大脑机制的研究成果运用于人工智能领域,也推动着人工智能研究的进步。心理学同人工智能联系紧密,自…

【粉丝福利、免费领取】:1000套PPT模板、100份简历模板、硬核学习资料+PDF资料(java、python、大数据、机器学习)

目录 1、100套小编购买的简历模板(部分截图) 2、1000套精品PPT模板(部分截图) 3、大数据-学习资料(1.3G 硬核PDF,官方指南) 4、python学习全集 5、Java基础、高级和面试资料 6、大数据-行…