Мне нужно epub для текстового решения в Python - PullRequest
0 голосов
/ 15 марта 2019

Мне нужно получить текст из epub

from epub_conversion.utils import open_book, convert_epub_to_lines

f = open("demofile.txt", "a")
book = open_book("razvansividra.epub")
lines = convert_epub_to_lines(book)

Я использую это, но если я использую print (lines), он печатает только одну строку. И библиотеке 6 лет. Ребята, вы знаете хороший способ?

Ответы [ 2 ]

0 голосов
/ 15 марта 2019

convert_epub_to_lines возвращает итератор в строки, которые вам нужно перебирать по очереди, чтобы получить.

Вместо этого вы можете получить все строки с помощью команды "convert", см. В документации библиотеки:

https://pypi.org/project/epub-conversion/

0 голосов
/ 15 марта 2019

Как насчет https://github.com/aerkalov/ebooklib

EbookLib - это библиотека Python для управления EPUB2 / EPUB3 и Kindle файлы. Он способен читать и записывать файлы EPUB программно (Поддержка Kindle находится в стадии разработки).

API разработан так, чтобы быть максимально простым, но в то же время время делает сложные вещи возможными тоже. Есть поддержка обложек, оглавление, позвоночник, руководство, метаданные и т. д.

import ebooklib
from ebooklib import epub

book = epub.read_epub('test.epub')

for doc in book.get_items_of_type(ebooklib.ITEM_DOCUMENT):
    print doc
...