python docx 合并文档 图片_使用python抓取大量简历文档内数据(word:docx;pdf;图片等)输出表格文件...
1. 文章背景描述:
近期公司有员工离职了,技术岗位的。
让HR招人,招聘进度也太慢了,实在等不及,就撸起袖子自己上。(之前从来没招聘过)
自己在某招聘网站注册后,花了若干人民币,短时间收到大量求职者的简历;
(干嘛交钱,因为不交钱一天也收不到几封简历,想主动撩人都受次数限制。)
(有钱就是好!)[手动无奈的表情]
由于需招聘的岗位稍特殊,且对学历要求比较严格,所以在筛选大量简历的时候耗费了我大量的时间。
以上就是我面临的难题,我需要一个称心的工具,来帮我将这些简历文件中的主要信息整理成Excel表格,这样进一步做简历筛选工作量就轻松了好多了,甚至需要给应聘者打电话时也不用看着简历手动输号码了。
好的,有了主意就行,好久没写python代码了,这次就拿python练练手。
以上就是背景。
2.问题分析
简历文件都有哪些格式?
word :*.docx、*.doc
PDF:*.pdf
图片:*.png、*.jpg (好过分,竟然用图片^_^)
Excel: *.xls 、 *.xlsx
网页形式:html等
由于pdf和word所占比例较高,那就先搞定word和PDF文件
2.1. 对于word文件:
去搜索引擎查了下,有个现成的库可以用:python-docx
安装python-docx 库:
pip install python-docx --target="C:Program FilesPython37Libsite-packages" -i https://pypi.tuna.tsinghua.edu.cn/simple
我这里使用的是清华的镜像源,指定了安装路径;
大家可以使用 pip install python-docx 来安装 python-docx库
导入python-docx库:
import
先写一段代码测试下:
import docx
import osprint(os.getcwd())
file_docx = docx.Document(r"C:UsersAdministratorDesktopread_docx张三-求职机器学习岗位-18888888888.docx")
# file_docx = docx.Document(r"C:UsersAdministratorDesktopread_docx数据分析.docx")
tables = file_docx.tables
print(file_docx)
print("tables len:", len(tables))print("对象类型:", type(file_docx))
print("文件长度:", len(file_docx.paragraphs))
print(file_docx.paragraphs[0].text)
# C:UsersAdministratorDesktopread_docx数据分析.docx# print("="*20)
print(tables)
for _table in tables[:]:for i, row in enumerate(_table.rows[:]):row_content = []for cell in row.cells[:]:c = cell.textrow_content.append(c)print(row_content)
输出结果:
<docx.document.Document object at 0x00000273208E9D68>
tables len: 2
对象类型: <class 'docx.document.Document'>
文件长度: 7
个人简历
====================
[<docx.table.Table object at 0x00000273208E0C48>, <docx.table.Table object at 0x0000027320902C48>]
['姓名', '张三', '性别', '男']
['年龄', '23', '学历', '本科']
['电话', '188 8888 8888', '邮箱', '188 8888 8888@163.com']
['清华大学', '人工智能专业', '本科', '1999.09.01-2003.07.01']
['北京大学', '人工智能专业', '硕士', '2003.09.01-2007.07.01']
嗯,确定表格内的数据能提取并输出就行了;
由于现在大多数人的简历word版都是使用文本框录入数据的,并不直接使用表格,上述的代码仅限于表格,那么我们再:
import docx
import osprint("=" * 40)
file = docx.Document(r"C:UsersAdministratorDesktopread_docx赵思思--求职机器学习岗位-19999999999.docx")
children = file.element.body.iter()
child_iters = []
tags = []
for child in children:# 通过类型判断目录if child.tag.endswith(('AlternateContent', 'textbox')):for ci in child.iter():tags.append(ci.tag)if ci.tag.endswith(('main}r', 'main}pPr')):child_iters.append(ci)
text = ['']
for ci in child_iters:if ci.tag.endswith('main}pPr'):text.append('')else:text[-1] += ci.textci.text = ''
trans_text = ['***' + t + '***' for t in text]
print(trans_text)i, k = 0, 0
for ci in child_iters:if ci.tag.endswith('main}pPr'):i += 1k = 0elif k == 0:ci.text = trans_text[i]k = 1file.save(r'C:UsersAdministratorDesktopread_docx/new_test.docx')
接下来,就是将抽取到的数据进行精确提取了。
+++2020年5月21日+++
未完待更
+++
资料参考:
1、使用python-docx提取word中的表格 - 六盘水月照 - 博客园
2、https://python-docx.readthedocs.io/en/latest/user/quickstart.html
3、https://blog.csdn.net/u013546508/article/details/98849695
python docx 合并文档 图片_使用python抓取大量简历文档内数据(word:docx;pdf;图片等)输出表格文件...相关推荐
- python爬虫抓收费图片_简单的抓取淘宝图片的Python爬虫
写了一个抓taobao图片的爬虫,全是用if,for,while写的,比较简陋,入门作品. 从网页http://mm.taobao.com/json/request_top_list.htm?type ...
- python获取渲染之后的网页_使用Pyppeteer抓取渲染网页
Pyppeteer是Puppeteer的非官方Python支持,Puppeteer是一个无头JavaScript的基于Chrome/Chromium浏览器自动化库,可以用于对渲染网页的抓取. 比较了P ...
- python获取app信息的库_基于python3抓取pinpoint应用信息入库
这篇文章主要介绍了基于python3抓取pinpoint应用信息入库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Pinpoint是用Java编写 ...
- python字典合并输入用字符_左右用R右手Python9——字符串合并与拆分
原标题:左右用R右手Python9--字符串合并与拆分 杜雨,EasyCharts团队成员,R语言中文社区专栏作者,兴趣方向为:Excel商务图表,R语言数据可视化,地理信息数据可视化.个人公众号:数 ...
- python百度贴吧怎么爬取最早的帖子_【Python爬虫教学】百度篇·手把手教你抓取百度贴吧任意贴吧指定范围页数内的源代码...
开门见山. 懒癌一犯,能拖一天是一天. 好了,亲爱的小伙伴们,我又回来了!今天带来的是抓取输入的任意贴吧,抓取指定范围页数内的源代码. 工具: 依旧是 PyCharm 和 Google 浏览器,pyt ...
- python新闻评论分析_使用 python 抓取并分析京东商品评论数据
本篇文章是python爬虫系列的第三篇,介绍如何抓取京东商城商品评论信息,并对这些评论信息进行分析和可视化.下面是要抓取的商品信息,一款女士文胸.这个商品共有红色,黑色和肤色三种颜色, 70B到90D ...
- python爬取饿了么数据_阿里95亿美元拿下饿了么,我用python抓取了饿了么外卖数据信息...
今天收到一个消息,阿里95亿美元拿下饿了么.阿里巴巴已经签订收购协议,联合蚂蚁金服用95亿美元兑饿了么全资收购.现在我用Python抓取饿了么的外卖数据. ■1.环境介绍: win10 64bit p ...
- python抓取数据包_利用python-pypcap抓取带VLAN标签的数据包方法
1.背景介绍 在采用通常的socket抓包方式下,操作系统会自动将收到包的VLAN信息剥离,导致上层应用收到的包不会含有VLAN标签信息.而libpcap虽然是基于socket实现抓包,但在收到数据包 ...
- java爬取今日头条_今日头条抓取街拍图片数据集
spider1: 抓取街拍页面的所有入口链接: 1.数据查看到,街拍页面需要的数据集都在data这个集合中,而data是整个数据集字典的一个键,data这个键又包括了一个list,list中是一个个字 ...
最新文章
- umijs多环境配置_umi 项目多环境打包配置
- 清华硕士在家造了一辆车,从设计到加工一个人完成,轻松穿沙漠爬岩石,还人人可拆装...
- 【数值分析】微分求积:复化梯形、复化辛浦生
- Linux Shell编程之一循环结构
- 笔试算法复习——数组去重
- 分数转小数C语言,这是把小数转换成分数的程序,可是输入0.6666无限循环
- 【小虫虫】邮购笔记本的注意事项
- 微信公众平台-杂项:小程序导航
- 【华为云技术分享】40%性能提升,华为云推出PostgreSQL 12 商用版
- 2016CCPC东北地区大学生程序设计竞赛题解
- wireshark_Couldn’t run /usr/sbin/dumpcap in child process: Permission denied
- ZAB协议(ZooKeeper Atomic Broadcast)入门
- 理解Python的协程机制-Yield
- java中打印当前时间_在java中打印当前日期
- lamp php用开吗,LAMP环境之PHP安装使用
- 路在脚下,梦就在前方
- 微软收购雅虎要中国政府审批?
- 超级计算机通信工程研发相关高校,美国签证技巧
- JAVA是解释型语言还是编译型语言
- 我的世界1.14java原版命令_我的世界1.14.4第一个预览版发布 添加了debugreport命令...