#python #beautifulsoup #extract
Вопрос:
У меня есть по крайней мере 500 XML — файлов, в которых мне нужно найти текст и фразы на языке, отличном от английского.
Поскольку эти XML-файлы заполнены большим количеством тегов и небольшим количеством текста, я подумал, что одним из способов решить мою проблему было извлечь текст из этих файлов, чтобы найти предложения на других языках, используя beautifulsoup.
Я уже начал, но я застрял, вот что я делал до сих пор :
from bs4 import BeautifulSoup
import glob
for filename in glob.glob("*.xml"):
with open(filename) as open_file:
content = open_file.read()
soup = BeautifulSoup(content, 'lxml')
textExtracted = soup.findAll(text=True)
print(' '.join(textExtracted))
Чтобы найти и узнать, какой текст взят из какого файла, необходимо было бы иметь имя файла перед извлечением, как я мог бы это сделать? Есть библиотека, которую можно использовать для этого?
Не могли бы вы мне помочь ?
Комментарии:
1. Если вам нужно отслеживать имя файла, почему бы вам не создать словарь и не назначить текст каждому ключу имени файла? Пример:
dict_xml[filename] = ' '.join(textExtracted)
2. Да, это хорошая идея. Но сейчас мой скрипт не работает, не печатает smt