Python使用标准库zipfile+re提取docx文档中超链接文本和链接地址

December 09, 2023
测试
测试
测试
测试
1 分钟阅读

问题描述:

WPS和Office Word创建的docx格式文档虽然格式大致相同,但还是有些细节的区别。例如,使用WPS创建的文档中如果包含超链接,可以使用“Python提取Word文档中所有超链接地址和文本”一文中介绍的技术和代码提取,但是同样的代码对于Office Word创建的docx文档无效。本文使用Python配合正则表达式来提取docx文档中的超链接文本和链接地址。

技术原理:

假设有文件“带超链接的文档(Word版).docx”,内容如下,

把该文件复制一份得到“带超链接的文档(Word版) - 副本.docx”,修改扩展名为zip得到文件“带超链接的文档(Word版) - 副本.zip”,打开该文件,结构如下,

进入word子文件夹,结构如下,

双击文件document.xml,内容如下,方框内和箭头处是需要提取的内容,其中箭头处为资源ID,

进入_rels文件夹,有如下文件,

双击打开文件“document.xml.rels,内容如下,红线处类似的地方是需要提取的信息,

参考代码:

运行结果:

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多