前面一篇讲到了处理pdf的内容,今天说下python对word的处理。其实python对word文档的支持不够。
为读取docx内容,可以使用以下方法:
(1)利用urlopen抓取远程word docx文件;
(2)将其转换为内存字节流;
(3)解压缩(docx是压缩后文件);
(4)将解压后文件作为xml读取
(5)寻找xml中的标签(正文内容)并处理
下面是代码,传入url即可。

def wordTocontent(url):
    wordFile = urlopen(url).read()
    wordFile = BytesIO(wordFile)
    document = ZipFile(wordFile)  #
    xml_content = document.read("word/document.xml")
    wordObj = BeautifulSoup(xml_content.decode("utf-8"), "lxml")
    textStrings = wordObj.findAll("w:t")
    str_all = ''
    for textElem in textStrings:
        str_all = str_all + textElem.text
    return str_all

注意这个只对.docx的文档有效老版本的.doc不行。