python — Чтение книг формата .fb2
Решил сделать ридер .fb2 файлов. Разобрав структуру, обнаружил, что там используются теги, по примерно одинаковой системе, и решил распарсивать файл таким образом: прогоняю каждую строку в цикле, если обнаруживаю тег, то добавляю в список все строки после индекса строки с тегом, пока не встретится конец тега.
Однако мне это кажется грубым вариантом, который не будет универсален для всех книг.
Плюс есть несколько проблем, строка _book.append(line.replace('<p>', '').replace('</p>','\n'))
не хочет работать совсем, что странно, ведь эти тег там есть.
Как можно лучше реализовать эту идею без использования каких то готовых библиотек?
class Book: def __init__(self, file): self.file = file self.book = [] with open(self.file, 'r', encoding='utf-8') as file: file = file.readlines() _book = [] for line in file: _book.append(line.lstrip()) for line in file: _book.append(line.replace('<p>', '').replace('</p>','\n')) for line in _book: self.book.append(line.strip('\n')) @property def get_description(self): _description = [] for line in self.book: if line.startswith('<description>'): line_index = self.book.index(line) for line in self.book[line_index:]: _description.append(line) if line.startswith('</description>'): break description = {} for line in _description: if line.startswith('<book-name>'): description['book-title'] = line.lstrip('<book-name>').rstrip('</book-name>') elif line.startswith('<book-title>'): description['book-title'] = line.lstrip('<book-title>').rstrip('</book-title>') elif line.startswith('<author>'): a = _description. index(line) for i in self.book[a:]: if i.startswith('<first-name>'): description['autor-first-name'] = i.lstrip('<first-name>').rstrip('</first-name>') if i.startswith('<middle-name>'): description['autor-middle-name'] = i.lstrip('<middle-name>').rstrip('</middle-name>') if i.startswith('<last-name>'): description['autor-last-name'] = i.lstrip('<last-name>').rstrip('</last-name>') if i.startswith('</author>'): break elif line.startswith('<annotation>'): annotation = [] line_index = self.book.index(line) for line in self.book[line_index:]: annotation.append(line) if line.startswith('</annotation>'): break description['annotation'] = ''. join(annotation).replace('<empty-line/>', '\n').replace('<annotation>', '').replace('</annotation>', '') return description def get_chapters_title(self): chapters = [] for index, value in enumerate(self.book): if value.startswith('<title>'): a = {index : self.book[index+1].lstrip('<p>').rstrip('</p>').lstrip('strong>').rstrip('</strong')} chapters.append(a) return chapters
- python
- fb2
8
Зарегистрируйтесь или войдите
Регистрация через GoogleРегистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Топ-10 лучших читалок FB2 для Андроид и какой программой открыть формат
It-Tehnik
Были времена, когда в каждом автобусе попадались пассажиры, увлеченные чтением книги. Эти книголюбы нередко привлекали внимание окружающих, но при этом сами не замечали происходящего вокруг. Со временем людей с книгами стало меньше. Некоторые думают, что поколение разлюбило читать. На деле молодежь просто перешла на электронные книги. Для этого не обязательно покупать специальный гаджет, достаточно установить на свой Андроид читалку для открытия FB2. Что это за формат Обычно, когда речь идет о текстовых документах, то многие сразу вспоминают файлы с форматом pdf, docx, txt и rtf. Конечно, эти форматы можно использовать для хранения рабочих документов, инструкций и личной информации. Однако для книг эти форматы не подходят, как минимум потому что в них нет: поддержки пользовательских обложек; инструментов для гибкой разметки текста и картинок; удобной навигации. Зато все вышеперечисленные функции присутствуют в файлах формата FB2. Его в народе так и называют: «самый популярный книжный формат файлов». Потому большинство онлайн-библиотек и магазинов онлайн-книг предлагают скачивать книги именно в этом формате. Да и к тому же, у него есть только два серьезных конкурента – Epub и DJVU. Но о них мы поговорим в другой раз. А сейчас представляем вниманию читателя топ-10 программ для чтения FB2 на Android. FBReader Начинает нашу подборку универсальная программа, позволяющая открыть текстовые файлы, которые имеют следующие форматы: Txt – сплошной текст без форматирования; Pdf – универсальный формат для текста и картинок; Epub – разработан и заточен под электронные книги; Djvu – похож на epub; Cbr – расширение для комиксов. FB2. Уточним, сама программа позволяет открыть только FB2, а для работы с другими файлами необходимо дополнительно установить нужные модули из Play Market. «Читалка» радует изобилием полезного функционала. Например, здесь поддерживается навигация через оглавление, создание закладок и цитат. Стоит отметить необычную функцию – установка книг прямо из интернет-магазинов, например, ЛитРес. В премиум версии доступна машинная озвучка текста. Преимущества: Удобная навигация по главам и страницами (есть ползунок для быстрого перемещения). Режим быстрого сохранения цитаты. Интеграция онлайн-библотек. Недостатки: Часть функций доступна в премиум-версии, которая стоит 6.10 доллара США. Впрочем, учитывая отсутствие аналогов, это цена не такая уж и весомая Ссылка на установку. Для перехода на платную версию достаточно в приложении кликнуть по кнопке «FBreader Premium». TTS Reader Продвинутые пользователи Андроид могут предположить из названия, что эта программа конвертирует текст в аудио, а после озвучивает синтезированным голосом (тем, которым говорит Google Ассистент). Для остальных поясним, TTS – это аббревиатура, которая расшифровывается как «Text To Speech». Перевод: «Текст в речь». Действительно, программа не только позволяет открывать десятки популярных текстовых файлов (в том числе и FB2), но и автоматически озвучивать их. Причем не нужно дополнительно загружать аудиодорожку к книге. Программа с помощью встроенных средств самостоятельно сконвертирует текст в голос. Кроме TTS, приложение предлагает следующие функции: Тренировка скорости чтения. Текст разбивается на слова, которые по одному появляются на экране с заданной скоростью. Режим автоматической прокрутки. Разработчики заявляют, что это функция нужна, если пользователь использует софт для просмотра нот. Меню с настройками размера шрифта и отображения текста. Преимущества: Гибкие настройки. Возможность озвучивать текст. Режимы чтения (книга, свиток, музыкант). Недостатки: Немного сложный и устаревший интерфейс. Ссылка на установку через Play Market. eBoox По мнению автора, эта одна из лучших программ для пользователей, которые предпочитают изобилие функций, половина из которых может даже не пригодиться. Это не простое программное обеспечение для открытия одного-двух форматов. EBoox – это многофункциональный сервис с возможностью открывать локальные файлы, а также докупать (скачивать) произведения из популярного в России и странах СНГ интернет-магазина ЛитРес. Особенно порадовала функция автоматического сканирования внутренней и внешней памяти на наличие поддерживаемых файлов. Например, если в вашем телефоне все книги разбросаны по разным папкам, достаточно включить сканер, который самостоятельно соберет найденные файлы в один список. Если нужны только книги в формате FB2, то необходимо заранее указать только этот формат в настройках фильтра. Преимущества: приятный современный интерфейс; «умный» сканер файловой системы; интеграция интернет-магазина. Недостатки: не замечено. Разве что программа может не понравиться любителям минимализма в интерфейсах. Ссылка на установку. eReader Prestigio Разработчики этой программы решили сделать свой продукт более атмосферным и приближенным к реальным книгам. Начнем с того, что интерфейс приложения состоит из цветов выцветшей бумаги, что сразу ассоциируется со старыми книгами. К тому же все файлы расположены не в виде списка, а на полках. Ладно, вряд ли читателя будет интересовать именно интерфейс, потому сразу переходим к функционалу для комфортного чтения. Здесь также поддерживается интернет-магазин, правда используемая в нем валюта – евро, а не рубли. Кроме онлайн-книг пользователь может загрузить и свои. Приложение поддерживает фильтра по форматам, а также автоматический сканер. В общем, софт очень похож на аналог выше, за исключением необычного интерфейса. Преимущества: Широкий выбор в интернет-магазине. Функция озвучки текста. Несколько тем для интерфейса. Недостатки: Нет панели выбора валюты. Скачать файл можно здесь. AlReader «Оно какое-то… странное» – это первое, что может сказать обычный пользователь, когда увидит интерфейс этого приложения. В действительности, странный у программы только внешний вид. Он немного негармоничный, устаревший и неповоротливый (если таким словом вообще можно описать интерфейс). То есть в программе есть все основные функции, но пользоваться ими не совсем удобно. Например, у автора вызывало трудности выделение фрагмента для создания цитаты. Почему тогда это программа попала в топ? Дело в том, что она отлично подходит для старых телефонов, на которых зависает даже обычный браузер. Если пользователю не нужны лишние функции, а только возможность читать книги на старых гаджетах, то эта программа идеально подойдет для него. преимущества: оптимизация под старые устройства; малый размер приложения – 5 мегабайт. Недостатки: неприятный внешний вид, а точнее плохо функционирующие кнопки управления. Ссылка для скачивания. Moon+ Reader Необычное программное решение, которое буквально делает из читаемой книги раскраску. Каждое слово можно выделить маркером определенного цвета, либо отформатировать стандартными средствами (подчеркивание, зачеркивание, выделение полужирным). В остальном приложение не сильно отличается от аналогов выше, за исключением скупого интерфейса. К слову, софт также хорошо оптимизирован под старые устройства. На девайсах поновее рекомендуем выбрать среди первых четырех программных решений в материале. FullReader Этот экземпляр играет роль «золотой середины» между навороченными программами, которые были указаны в самом начале, и простенькими утилитами (например, AlReader). Начнем с того, что здесь есть возможность напрямую скачивать книги через интернет. Однако, заранее подготовленных библиотек пользователь не увидит. Вместо этого необходимо вручную указать адрес на веб-сервер с книгами (через OPDS соединение), а после выкачивать их по одной. Есть и сканер для открытия локальных файлов, фильтр расширений предусмотрен. Отличительная особенность программы – это встроенный конвертер голоса в текст. Он используется для того, чтобы наговаривать быстрые заметки по книге. Преимущества: Гибкая настройка онлайн-библиотеки. Возможность записи голосовых заметок. Фильтр форматов. Недостатки: Слишком много рекламы. Ссылка на Play Market. PocketBook Reader А на очереди не обычная «читалка», а целый интернет-магазин с возможностью скачивать не только печатные книги, но и аудиокниги. Интерфейс ПО выполнен в современном стиле, а потому в нем сможет разобраться даже начинающий пользователь. Нововведением, которого не было в альтернативах выше, стала интеграция сервиса Google Books. Увы, для работы с ним нужен аккаунт Adobe ID. Есть и стандартные функции, например, TTS и автоматическая прокрутка. Каждое слово можно скопировать и сразу отправить в переводчик. Полезная функция, если в тексте попадаются иностранные слова. Преимущества: Доступ к нескольким интернет-библиотекам. Перевод слов прямо во время чтения. Дневник прочитанных книг. Недостатки: Нет фильтра форматов. Скачать в Play Market. CoolReader Наша подборка потихоньку подходит к концу. Осталось только два приложения, которые точно заинтересуют пользователей. Это программное решение было выпущено еще для Android третьей и четвертой версии, потому может некорректно запускаться на новых версиях Android (проверяли на Android 10, программа работала корректно). Интерфейс читалки, разумеется, с тех времен не обновлялся, потому любителям современного минимализма эта программа может не понравится. В приложении присутствует интернет-магазин, который, правда, работает некорректно. Преимущества: оптимизация под старые устройства; приятный интерфейс; гибкие настройки отображения текста. Недостатки: неоптимизированная онлайн-библиотека. Ссылка на установку. ReadEra Подытоживает наш топ программа, которая хоть и не отличается изобилием функций, но имеет положительную репутацию в Play Market. Встроенной онлайн-библиотеки нет, как и продуманной навигации по файлам. Софт автоматически сканирует файловое хранилище, а после отображает найденные текстовые файлы. Зато стоит похвалить сам интерфейс читалки. Перелистывание происходит без зависаний, присутствует даже детский режим, при котором отключаются кнопки выхода из программы. Преимущества: детский режим; приятный интерфейс; Недостатки: нет онлайн-библиотеки. Ссылка на установку.
© It-TehnikИнтернет, Google
Как открыть файл FB2? (Расширение файла FB2)
Расширение файла: | FB2 |
Тип файла Описание: | Fictionbook 2,0 Файл |
Developer Type Developer: | Open | Developer: | . | Calibre |
Основной разработчик программного обеспечения: | Open Source |
Открывайте файлы с помощью FileViewPro File Viewer
Загрузить File Opener
Дополнительное предложение для FileViewPro от Solvusoft | ЛСКП | Политика конфиденциальности | Условия | Uninstall
Файлы FictionBook 2. 0 являются наиболее популярным типом файлов с расширением FB2, изначально разработанным Open Source для Caliber. Наши внутренние данные веб-отслеживания показывают, что пользователи операционной системы Windows 10 и жители Китая чаще всего используют файлы FictionBook 2.0. По статистике, эти пользователи, скорее всего, используют интернет-браузер Google Chrome.
Associated Developers and Software
Geometer Plus FBReader by Geometer Plus LLC | |
Calibre by Open Source | |
Icecream Ebook Reader by Icecream Apps | |
Cool Reader с открытым кодом |
Лучшие языки пользователей FB2
Лучшие браузеры файлов FB2
Подходит для рабочего стола?
Подходит для мобильных устройств?
Most Popular FB2 File Countries
Top User Operating Systems
Windows 7 | Windows 10 | Windows 8. 1 | Windows XP |
Associated Operating Systems
Windows | |
Mac | |
Linux | |
Android | |
Blackberry |
Other File Types Related to FB2 Files
Extension | File Type Developer | File Category | File Type Description | |
---|---|---|---|---|
.CDB | Nokia | Файлы базы данных | База данных телефонной книги Symbian | |
.15 | IBM | Файлы данных | IBM -тип голоса. | Стандартный документ языка разметки запросов |
.XMCD | Parametric Technology Corporation | Файлы данных | Файл рабочего листа Mathcad | |
.CSO | Microsoft Corporation | Файлы 3D-изображений | Скомпилированный объектный файл шейдера | |
. TK | Procedimientos.L.Uno, SL.Uno, | Data Files | TeKton3D Project | |
.PAF | FamilySearch | Data Files | Personal Ancestral File | |
.XLS | Microsoft Corporation | Spreadsheet Files | Microsoft Excel 9Электронная таблица с 7 по 2003 год | |
.D64 | Commodore International | Файлы изображений дисков | Коммодор 64 Изображение диска |
Запуск здесь
с Windows 10, 8, 7, vista, xp, xp, x.
«Вместо просеивания папок с файлами, разбросанными по всему жесткому диску, FileViewPro позволяет открыть любой файл из одной программы. Будь то документ, электронная таблица, презентация или другой тип файла, FileViewPro может открыть его». — Обзор программного обеспечения
*Неподдерживаемые файлы можно открывать в двоичном формате.
Copyright © 2010-2022 FileViewPro
Акриловые вывески Open Bar Окрашенная акриловая вывеска Sign-fb2
Etsy больше не поддерживает старые версии вашего веб-браузера, чтобы обеспечить безопасность пользовательских данных. Пожалуйста, обновите до последней версии.
Воспользуйтесь всеми возможностями нашего сайта, включив JavaScript.
Нажмите, чтобы увеличить
В 11 тележках
Цена: 376,08 турецких лир+
Изначальная цена: 417,87 TL+ (скидка 10%)
Загрузка
Включены местные налоги (где применимо)
49 291 продаж |
5 из 5 звездЦвет надписи + вариант подставки
Выберите вариант Белый + незавершенный Черный + незавершенный Серебро + Незавершенный Золото + Незавершенный Розовое золото+Незаконченный Белый + Морилка Черный + Морилка Серебряный + окрашенный Золото + Пятно Розовое золото+витраж Белый + Акрил Черный + Акрил Серебро + Акрил Золото + Акрил Розовое золото + акрил
Пожалуйста, выберите опцию
Размер
Выберите вариант 5×7 (376,08 TL) 8×10 (716,15 турецких лир)
Выберите опцию
Добавьте свою персонализацию
Пожалуйста, укажите цвет акрила, который вы предпочитаете (см. таблицу цветов для вариантов матового и сплошного цвета)
500
Количество
123456789101112131415
Вы можете сделать предложение только при покупке одного товара
Рекомендации по загрузке
Загрузка
Загрузка
Загрузка
Загрузка
Загрузка
Загрузка
Загрузка
Самые популярные свадебные поиски для покупок
Подарки подружке невесты
Подарки жениха
Свадебные подарки
Подарки на помолвку
Внесен в список 31 марта 2023 г.
380 избранных
Сообщить об этом элементе в Etsy
Выберите причину… С моим заказом возникла проблемаОн использует мою интеллектуальную собственность без разрешенияЯ не думаю, что это соответствует политике EtsyВыберите причину…
Первое, что вы должны сделать, это связаться с продавцом напрямую.
Если вы уже это сделали, ваш товар не прибыл или не соответствует описанию, вы можете сообщить об этом Etsy, открыв кейс.
Сообщить о проблеме с заказом
Мы очень серьезно относимся к вопросам интеллектуальной собственности, но многие из этих проблем могут быть решены непосредственно заинтересованными сторонами. Мы рекомендуем связаться с продавцом напрямую, чтобы уважительно поделиться своими проблемами.
Если вы хотите подать заявление о нарушении прав, вам необходимо выполнить процедуру, описанную в нашей Политике в отношении авторских прав и интеллектуальной собственности.
Посмотрите, как мы определяем ручную работу, винтаж и расходные материалы
Посмотреть список запрещенных предметов и материалов
Ознакомьтесь с нашей политикой в отношении контента для взрослых
Товар на продажу…не ручной работы
не винтаж (20+ лет)
не ремесленные принадлежности
запрещены или используют запрещенные материалы
неправильно помечен как содержимое для взрослых
Выберите причину
Расскажите нам больше о том, как этот элемент нарушает наши правила. Расскажите нам больше о том, как этот элемент нарушает наши правила.