Вам не нужен BeautifulSoup для извлечения.
Вы можете конвертировать файлы .epub в текст, используя пакет epub-conversion
, устанавливаемый из PyPi:
pip install epub-conversion
Теперь это простое задание для извлечения текста из архива epub:
Строка за строкой:
from epub_conversion.utils import open_book, convert_epub_to_lines
book = open_book("some_file.epub")
lines = convert_epub_to_lines(book)
Теперь, как и в вашем вопросе, вы можете распечатать его целиком или выбрать обработку каждого строка:
print(lines)
# or traverse each line
for line in lines:
print(line) # Or do something completely different