前面一篇讲到了处理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不行。