整体思路:

下载文件并修改后缀为zip文件,解压zip文件,所要获取的内容在固定的文件夹下:work/temp/word/document.xml

所用包,全部是python自带,不需要额外下载安装.

# encoding:utf-8
import os
import re
import requests
import zipfile
import xml.dom.minidom newfile = 'test.docx' def create(newfile):
"""下载docx文件,并修改后缀为zip"""
res = requests.get('https://www.cqjbfy.gov.cn/publiccenter/splc/mb/splc_gginfo.asp?newsid=28949') if not os.path.exists(newfile):
f = open(newfile, 'wb')
for chunk in res.iter_content(100000):
f.write(chunk)
f.close() os.rename(newfile, 'test.zip') 这种方法发现只能解决一部分doc文件,具体原因不得而知,有明白的欢迎留言
    # 将doc/docx文件压缩成zip文件
    #pf = zipfile.ZipFile('test.zip', 'w', zipfile.ZIP_STORED) 
#pf.write(newfile)

def get_txt():
"""解压zip,并在work/temp/word/document.xml获取文本内容,进行正则替换标签等操作"""
f = zipfile.ZipFile('test.zip', 'r')
for file in f.namelist():
f.extract(file, "temp/")

f = xml.dom.minidom.parse('./temp/word/document.xml')

txt = re.sub(r'</w:t></w:r></w:p>', '\n', f.toxml())
print re.sub(r'<.*?>', '', txt)

if __name__ == '__main__':
create(newfile)
get_txt()

pasting

Python2 获取docx/doc文件内容的更多相关文章

  1. js获取上传文件内容(未完待续)

    js 获取上传文件的字节数及内容 <div> 上传文件 : <input type="file" name = "file" id = &qu ...

  2. js获取上传文件内容

    js 获取上传文件的字节数及内容 <div> 上传文件 : <input type="file" name = "file" id = &qu ...

  3. JAVA利用poi获取world文件内容

    本文主要简单介绍了利用poi包,读取world文件内容. 这个依然存在版本的问题,只能读取doc结尾的老版本文件. 话不多说,上代码: import java.io.File; import java ...

  4. Python脚本:批量将.doc文件转化为.docx文件

    将.doc转换为.docx文件有几种常用的方法: Microsoft Word 和 WPS 自带.doc转换.docx功能,但只能一个文件一个文件转换,批量转换要会员 在线网页 Office-Conv ...

  5. linux more-显示文件内容,每次显示一屏

    博主推荐:获取更多 linux文件内容查看命令 收藏:linux命令大全 more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作.more名单中 ...

  6. linux less-分屏上下翻页浏览文件内容

    博主推荐:获取更多 linux文件内容查看命令 收藏:linux命令大全 less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more ...

  7. 【apache tika】apache tika获取文件内容(与FileUtils的对比)

    Tika支持多种功能: 文档类型检测 内容提取 元数据提取 语言检测 重要特点: 统一解析器接口:Tika封装在一个单一的解析器接口的第三方解析器库.由于这个特征,用户逸出从选择合适的解析器库的负担, ...

  8. 利用pdfbox和poi抽取pdf、doc以及docx格式的内容

    使用pdfbox1.5.0抽取pdf格式文档内容,使用poi3.7抽取doc及docx文档内容: /** * Created by yan.shi on 2017/9/25. */ import or ...

  9. JS 获取上传文件的内容

    <div> 上传文件 : <input type="file" name = "file" id = "fileId" / ...

随机推荐

  1. Xilinx FPGA高速串行收发器简介

    1 Overview 与传统的并行实现方法相比,基于串行I/O的设计具有很多优势,包括:器件引脚数较少.降低了板空间要求.印刷电路板(PCB)层数较少.可以轻松实现PCB设计.连接器较小.电磁干扰降低 ...

  2. Springboot启动报Multiple Dockets with the same group name are not supported. The following duplicate groups were discovered.

    解决方法: 属于bean重复,根据错误提示剔除多于的Bean引用!

  3. MyDC总结

    需要补全的代码如下 public int evaluate(String expr) { int op1, op2, result = 0; String token; StringTokenizer ...

  4. 20155215 2016-2017-2 《Java程序设计》第3周学习总结

    20155215 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 第四章主要讲了类的构建,数组对象,字符串对象的构建与操作等.要学会区分基本类型与类类 ...

  5. 20155308 2016-2017-2 《Java程序设计》实验3

    20155308 2016-2017-2 <Java程序设计>实验3 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 敏捷开发是一种以人为核心.迭代.循序渐进的 ...

  6. 20155323刘威良第一次实验 Java开发环境的熟悉(Linux + IDEA)

    20155323刘威良第一次实验 Java开发环境的熟悉(Linux + IDEA) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序 ...

  7. sql语句-6-更新数据

  8. PostgreSQL 使用 LDAP 认证方式

    磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL杂记页     回到顶级页面:PostgreSQL索引页 [作者 高健@博客园  luckyjackgao@gmail. ...

  9. 【LG5021】[NOIP2018]赛道修建

    [LG5021][NOIP2018]赛道修建 题面 洛谷 题解 NOIP之前做过增强版还没做出来\(QAQ\) 一看到题目中的最大值最小,就很容易想到二分答案 重点是考虑如何\(check\) 设\( ...

  10. python爬虫:爬取慕课网视频

    前段时间安装了一个慕课网app,发现不用注册就可以在线看其中的视频,就有了想爬取其中的视频,用来在电脑上学习.决定花两天时间用学了一段时间的python做一做.(我的新书<Python爬虫开发与 ...