Коричневая ряса джедая, так же как и броня клонов, давала ей в некотором роде анонимность; никто не спрашивал, зачем она спускается в эти трущобы – потому что джедаи часто занимались подобной работой на дне общества, а кроме того – она была приятельницей Скираты.
Генерал–джедай Этейн Тер–Мукан
Карен Тревисс, "Приказ 66"





Сколько глобус ни крути, там Fess-Style не найти...
Сайт Fess'a
Главная » 2015 » Октябрь » 15 » BookParser - програмка для замены html-кодов в книгах
08:33
BookParser - програмка для замены html-кодов в книгах
Недавно я наткнулся в сети на сборник рассказов, которые, вероятно, были отсканированы с распознаванием текста. А распознавание текста - это процесс, в котором часто совершается много ошибок. И помимо обычных опечаток в словах, по ходу чтения вместо некоторых символов мне попадались их html-коды.



Например, вместо символа "&", у меня в тексте было "&", вместо кавычки " " " - """, а вместо знака неразрывного пробела " " стояло " ". Причем в некоторых текстах количество таких косяков измерялось реально сотнями! Естественно, что чтение таких рассказов не приносило никакого удовольствия.

Первый раз я вручную исправлял все через автозамену в Notepad++. Ручное исправление - довольно долгий и нудный процесс, кроме того, можно было случайно пропустить один или несколько html-кодов, которые потом внезапно появлялись при чтении и "портили аппетит".

Тогда, как тру прогер, я решил написать программу, которая бы пробегалась по книге и в соответствии с заданным набором правил заменяла бы html-коды на обычные символы. Так появился BookParser.

В качестве языка программирования был выбран Java - я как раз его осваивал в то время, и мне бы не помешало немного практики. Кроме того, на Java очень просто сделать интерфейс, а на C и C++ с оконными приложениями я пока ещё не работал. Да и там наверняка пришлось бы подключать какие-нибудь сторонние библиотеки, в то время как в Java все встроено и готово к работе "из коробки".

BookParser

После запуска BookParser создает два файла - BookParser.ini и BookParser.log. В .ini вы можете настраивать свои собственные замены (заменять можно только последовательности символов, начинающиеся с "&" и заканчивающиеся ";") или убирать существующие, а в .log во время парсинга книжки добавляется всякая полезная инфа. Оба файла обязательны к ознакомлению.

После прогонки книжки в папке с программой создается её отредактированная копия. Оригинальный файл никак не изменяется, поэтому можно парсить книжки с режимом "только для чтения".

При этом :
- прога работает только с fb2 файлами
- если прога встречает низвестный html-код, в выходном файле он будет вырезан из текста
- замены вида & = """ или & = "&" т.е. замены одного кода на другой запрещены (иначе прога повиснет)
- кодировка учитывается автоматически, при условии, что в первой строчке fb2 файла указано корректное значение тега encoding
- при попытке намеренно подсунуть неверную или не существующую кодировку можете получить на выходе иероглифы

Интерфейс программы прост и содержит всего одну кнопку. Ну, и один чекбокс. Кнопкой выбираем книгу, а чекбокс отмечаем, если хотим прогнать и все остальные книжки в этой папке. Чекбокс полезен, когда у вас в одной папке лежат, скажем, 200 книг, и в каждой из них вы хотите сделать замены.

Скачать можно здесь - https://yadi.sk/d/s7GpbbugjjeAw


Просмотров: 652 | Добавил: Fess
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Форма входа

Категории раздела

Arma 3 [11]
Сайт [2]
Мысли и обзоры [5]
Minecraft [1]

Поиск

Наш опрос

Оставить блок SoundCloud на сайте?

Архив | Результаты

Мини-чат

200

SoundCloud



Статистика


Онлайн всего: 1
Те, кому лень регаться: 1
Пользователей: 0