Та самая читалка – FBReader
- FBReader – популярная (более 30 миллионов установок) программа для чтения книг. Работает на iOS, Android, Windows, Mac OS, Linux и Chrome OS.
- FBReader поддерживает множество форматов книг, включая fb2, ePub, mobi, HTML, RTF и просто текст. Основные форматы – fb2 и ePub.
- FBReader использует свой собственный движок для разбора и отрисовки страниц. Движок очень лёгкий, быстрый и настраиваемый.
- С 2015 года исходный код FBReader больше не открыт. Для разработчков у нас есть FBReader SDK, библиотека для создания читалок на нашем движке.
FBReader 2.0 для Linux бесплатен, но код его не открыт.
На сегодня FBReader для Linux доступен только из Snap Store. Мы работаем над сборкой пакетов AppImage и/или Flatpak.
25 октября 2022 года
- Совместимость с Android 12+.
- Исправлено падение библиотеки на некоторых файлах PDF.
- Премиум пришёл в Huawei AppGallery.
12 сентября 2022 года
- Нам известно о проблеме с меню пометки на iOS 16: оно не появляется, и операции с текстом невозможны.
- Мы подготовили решение, но оно застряло на модерации в App Store. Пытаемся решить проблему как можно быстрее.
- Приносим свои извиненея за возникшие неудобства.
- Если вы хотите создать свою собственную читалку на движке FBReader, вам нужен FBReader SDK.
- На сегодня SDK существует для Android и iOS.
- Если вам нужен SDK для другой платформы, напишите нам письмо. Может быть, мы сумеем помочь.
- SDK включает движок для текстовых форматов, то есть ePub, fb2, mobi, и т.д. Формат PDF не поддерживается.
- Вы можете бесплатно скачать SDK и начать писать свою программу. Если вы решите, что программа стоит того, чтобы публиковать её, вам потребуется купить ключ. Ключ убирает предупреждения и разблокирует все возможности библиотеки.
- Цена за один ключ (для одного приложения на одной платформе) – 800 британских фунтов.
- Вы платите один раз, и получаете доступ ко всем грядущим обновлениям.
Программа не работает, как ожидается? Вы не можете сделать то, что хотели? Нужна помощь?
Прежде всего, загляните, пожалуйста, в раздел часто задаваемых вопросов. Это займёт всего пару минут, и ваша проблема, возможно, решится.
Если вы уверены, что хотите задать вопрос напрямую, воспользуйтесь нашей группой в Telegram. Это самый прямой и быстрый способ получить ответ в сети.
- Книжная сеть FBReader – облачное хранилище для вашей библиотеки.
- Файлы хранятся на вашем собственном Google Drive™.
- Книги можно объединять по авторам, сериям, и т.п.
- Синхронизация набора книг, позиций чтения и закладок между устройствами.
- Возможность управления коллекцией с компьютера.
- Простой доступ из браузера или прямо из FBReader.
Наш сайт использует cookie, чтобы сделать ваш просмотр более удобным. Некоторые cookie необходимы для нормальной работы. Пожалуйста, выберите вариант из списка, чтобы увидеть сайт FBReader.
python — Чтение книг формата .fb2
Вопрос задан
Изменён 2 года 3 месяца назад
Просмотрен 699 раз
Решил сделать ридер .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
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Lincoln Impinger II Express 1180-2/1180-FB2 Одноленточная электрическая двухконвейерная печь FastBake Комплектация
Оставить отзывАртикул №: 93611802fb2bMFR #: 1180-2/1180-FB2 208/1
Примечание: показана аналогичная модель
3 Работает с
Ask
$ 34 582,80/Каждый
Свяжитесь с нами для получения подробной информации
Корабли бесплатно с плюс
Позвоните 717-392-7472 (понедельник — Тур: 5 утра — 12:00 EST
FR: 5:00 — 8:00. Вс: с 9:00 до 16:00 по восточному поясному времени)
В связи с увеличением цены производителя эта цена увеличится на 4.00% от 01.11.22
Аксессуары и опции
FastBake Option LeftLincoln FastBake Left to Right Operation Эксплуатация — 0,00 долл. США Опция FastBakeТребуется
Верните до 1037,48 долл. США (103 748 баллов) с помощью кредитной карты Visa® Webstaurant Rewards
Другие доступные напряжения:
- 208 В, 1 фаза
- 208 В, 3 фазы
- 240 В, 1 фаза
- 240 В, 3 фазы
- 2 печи, устанавливаемые друг на друга, для экономии места съемный для универсальности и легкой очистки
- Регулируемый диапазон температуры от 250 до 575 градусов по Фаренгейту
- Скорость конвейера регулируется от 1 до 30 минут приготовления
- Элементы управления EasyTouch упрощают просмотр и настройку параметров
- Прочная экстерьеры из нержавеющей стали с дверями для доступа к стеклу
- 208V, 1 фаза, 20 кВт
Код UPC: 400012449215
Отправка: обычно поставки в 32 — 34 недели
. Lincoln 1141 12 «наклонная полка
$ 231,60/каждый
плюс
$ 362,40/Каждый
плюс
Lincoln 118048
Lincoln 1180-2/1180-FB2 208/1 Details Быстро и точно готовьте с одноленточной электрической печью Lincoln 1180-2/1180-FB2 Impinger II Express FastBake с двойным конвейером! Этот модуль с 2 печами, предназначенный для штабелирования, идеально подходит для интенсивной работы в условиях ограниченного пространства. Интуитивно понятное цифровое управление easyTouch упрощает управление каждой печью. Элементы управления регулируют температуру и скорость конвейера, которые затем отображаются на дисплее, чтобы упростить мониторинг настроек и продвижение продуктов. Чтобы гарантировать, что настройки не будут случайно или преднамеренно изменены, они автоматически блокируются, обеспечивая надежную согласованность продукта. Чтобы способствовать правильному обслуживанию и использованию, диагностические сообщения отображаются на дисплее каждой печи, когда требуется обслуживание. Для большей прочности обе печи имеют верхнюю, переднюю и боковые панели из нержавеющей стали. Кроме того, стеклянная дверца расположена на передней части каждого блока, чтобы вы могли получить доступ к камере во время использования, чтобы вставлять, удалять или переставлять продукты. Для вашей безопасности дверные ручки прохладные на ощупь. Конвейерная лента и импинджеры каждой печи съемные, что упрощает очистку. Для работы требуется электрическое соединение 208 В на каждую печь. Габаритные размеры: Этот товар отправляется через Common Carrier. нажмите здесь. Поскольку этот товар не хранится на нашем складе, сроки обработки, транспортировки и наличие на складе могут различаться. Если вам нужны товары к определенной дате, свяжитесь с нами до размещения заказа. Доступность ускоренной доставки может варьироваться. Вниманию жителей штата Калифорния: Опора 65 Предупреждение Этот продукт может подвергнуть вас воздействию химических веществ, включая свинец, которые, как известно в штате Калифорния, вызывают рак, врожденные дефекты или другие нарушения репродуктивной функции. Для получения дополнительной информации посетите веб-сайт www.p65warnings.ca.gov. Нужны запчасти и аксессуары?См. запасные части или аксессуары для Lincoln 1180-2/1180-FB2 208/1Ресурсы и загрузки дляLincoln 1180-2/1180-FB2 208/1 Для просмотра информации об этом продукте требуется программа для просмотра PDF. Download Adobe Acrobat software Other Products from this Line
Если вы использовали этот продукт, войдите в систему и оставьте отзыв, чтобы сообщить нам и другим клиентам, что вы о нем думаете. Акриловые вывески Open Bar Окрашенные акриловые вывески Bar Sign-fb2Нажмите, чтобы увеличить 47 832 продажи | 5 из 5 звезд₪77,86+ Загрузка Включены местные налоги (где применимо) Цвет надписи + вариант подставки Выберите вариант Белый + незавершенный Черный + незавершенный Серебро + Незавершенный Золото + Незавершенный Розовое золото+Незаконченный Белый + Морилка Черный + Морилка Серебряный + окрашенный Золото + Пятно Розовое золото+витраж Белый + Акрил Черный + Акрил Серебро + Акрил Золото + Акрил Розовое золото + акрил Пожалуйста, выберите опцию Размер Выберите вариант 5×7 (₪77,86) 8×10 (₪148,28) Выберите опцию Добавьте свою персонализацию Пожалуйста, укажите цвет акрила, который вы предпочитаете (см. 500 Этого хотят другие люди. 7 человек держат это в своих корзинах прямо сейчас. Самые популярные свадебные поиски для покупокПодарки подружке невесты Подарки жениха Свадебные подарки Подарки на помолвку Исследуйте связанные категории и поискиВнесен в список 17 октября 2022 г. 360 избранных Сообщить об этом элементе в Etsy Выберите причину… С моим заказом возникла проблемаОн использует мою интеллектуальную собственность без разрешенияЯ не думаю, что это соответствует политике EtsyВыберите причину… Первое, что вы должны сделать, это связаться с продавцом напрямую. Если вы уже это сделали, ваш товар не прибыл или не соответствует описанию, вы можете сообщить об этом Etsy, открыв кейс. Сообщить о проблеме с заказом Мы очень серьезно относимся к вопросам интеллектуальной собственности, но многие из этих проблем могут быть решены непосредственно заинтересованными сторонами. Мы рекомендуем связаться с продавцом напрямую, чтобы уважительно поделиться своими проблемами. Если вы хотите подать заявление о нарушении авторских прав, вам необходимо выполнить процедуру, описанную в нашей Политике в отношении авторских прав и интеллектуальной собственности. Посмотрите, как мы определяем ручную работу, винтаж и расходные материалы Посмотреть список запрещенных предметов и материалов Ознакомьтесь с нашей политикой в отношении контента для взрослых Товар на продажу…не ручной работы не винтаж (20+ лет) не ремесленные принадлежности запрещены или используют запрещенные материалы неправильно помечен как содержимое для взрослых Пожалуйста, выберите причину Расскажите нам больше о том, как этот элемент нарушает наши правила. |
---|