如果url包含某个文件,在这种情况下是word文档,请阅读该文档的内容。我已经看到了几个如何从本地文档中提取文本而不是从URL中提取文本的示例。从http地址到ftp是否相同?
from urllib.request import urlopen
url = 'ftp://path/to/file.docx'
txt = urlopen(url).read()
文字的价值是:
b'PK\x03\x04\x14\x00\x06\x00\x08\x00\x00\x00!\x00\xdd\xfc\x957f\x01\x00\x00 \x05\x00\x00\x13\x00\x08\x02[Content_Types].xml \xa2\x04\x02(\xa0\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 ...'
我尝试解码
txt.decode("utf-8", "ignore")
但是这会返回PK ...
,然后是其他奇怪的字符
保存文档然后处理它的选项是不可行的。
我做错了什么?
答案 0 :(得分:0)
我终于找到了解决方案,希望有人帮忙
from urllib.request import urlopen
from bs4 import BeautifulSoup
from io import BytesIO
from zipfile import ZipFile
file = urlopen(url).read()
file = BytesIO(file)
document = ZipFile(file)
content = document.read('word/document.xml')
word_obj = BeautifulSoup(content.decode('utf-8'))
text_document = word_obj.findAll('w:t')
for t in text_document:
print(t.text)
答案 1 :(得分:0)