Я перебираю список URL, которые ссылаются на файлы docx, doc и pdf.Я написал функцию, которая позволяет мне извлекать текст из файлов docx и добавлять его в новый список.Меня не интересуют файлы pdf, но я также хотел бы извлечь текст из файлов doc с помощью той же функции.
После некоторых исследований кажется, что большинство людей textract
рекомендует загрузить docx.и документы документы.Тем не менее, я не могу правильно запустить его на своем устройстве и хотел бы найти другое решение.
Я пытался преобразовать каждый файл документа в docx, но стало неудобно (для меня) включать его в функцию.
Так выглядит функция прямо сейчас.Он загружает все файлы и извлекает текст из файлов DOCX в списке.«Пусто» в противном случае.
import os.path
import urllib.request
import os
import requests
import docx2txt
l = []
for link in urls:
link = link.strip()
name = link.rsplit('/', 1)[-1]
filename = os.path.join(name)
quoted_url = urllib.parse.quote(link, safe=":/")
if not os.path.isfile(filename):
print('Downloading: ' + filename)
try:
urllib.request.urlretrieve(quoted_url, filename)
try:
file = docx2txt.process(filename)
file = file.replace('\n', ' ')
file = file.replace('\t', ' ')
l.append(file)
except:
print(' no docx file')
l.append('empty')
except Exception as inst:
print(inst)
print(' Encountered error. Continuing.')
l.append('empty')
Ожидаемый вывод будет состоять в том, чтобы извлечь текст из doc и docx файлов в списке и в противном случае «пусто» (для pdf или плохих ссылок).