RulateBookExtractor

The script adds a button to the site for downloading books to an FB2 file

< Отзив за RulateBookExtractor

Отзив: Отлично - скриптът работи

§
Публикуван на: 05.03.2026

Большое спасибо за скрипт! Раз уж администрация сайта не может у себя сделать адекватное скачивание, ваша работа просто спасение.
Если это возможно, не могли бы вы добавить функцию "перезагрузить" изображения с ошибкой. Обычно, если изображение выдаёт ошибку, приходится запускать скрипт заново, было бы удобнее иметь кнопку "повторить попытку" или вроде того. Как вариант, при неудачной попутке скачивания, можно добавить скрипту ещё 2-3 попытки и только потом переходить к следующему.
Кроме того, книги, скачанные вашим скриптом, выходят довольно объёмными. Не знаю, может это нормально, но возникает ощущение, что где-то скрипт лепит лишнее. Это не проблема само по себе, но некоторые мобильные читалки просто отказываются читать такие книги. Кстати, после переконвертации книг в epub проблема пропадает. Не знаю, с чем это связано, но возможно это поможет вам сделать скрипт лучше.
В остальном, всё отлично, благодарю за работу, успехов вам!

Ox90Автор
§
Публикуван на: 05.03.2026

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

Я подумаю, что можно сделать. Под запуском скрипта заново вы имели ввиду закрытие и открытие диалога скачивания заново или что-то другое?

Кроме того, книги, скачанные вашим скриптом, выходят довольно объёмными. Не знаю, может это нормально, но возникает ощущение, что где-то скрипт лепит лишнее.

Я сильно сомневаюсь, что скрипт скачивает что-то лишнее. Думаю, дело в картинках. Скрипт скачивает их как есть, без модификации. Оригинальный алгоритм сайта, если я правильно помню, картинки в тексте вообще игнорирует, как и разметку. Так что размер будет точно различаться. С учетом того, что большинство авторов вставляют картинки как есть, без оптимизации по разрешению, то размер может ОЧЕНЬ сильно различаться.

Кстати, после переконвертации книг в epub проблема пропадает. Не знаю, с чем это связано, но возможно это поможет вам сделать скрипт лучше.

Epub - это по факту ZIP-архив, так что он точно будет меньше, особенно, если в книге используются несжатые или плохо сжатые картинки. Еще, возможно, конвертер еще и картинки оптимизирует. Тут нужно смотреть отдельно.

Я подумаю над тем, чтобы прикрутить к скрипту оптимизацию картинок. В любом случае, спасибо за отзыв и информацию.

§
Публикуван на: 06.03.2026

Я имею ввиду, перезапуск этих ошибок. То есть, к примеру, в таком случае скрипт попытается загрузить проблемное изображение ещё 2 раза, и только потом выдаст ошибку и перейдёт к следующему. Или, по окончанию загрузки, добавить в диалоговое окно кнопку для повторной загрузки проблемных элементов.

Я подумаю над тем, чтобы прикрутить к скрипту оптимизацию картинок. В любом случае, спасибо за отзыв и информацию.

Это уже просто мои хотелки. Просто раньше, до того я нашёл ваш скрипт, мне приходилось скачивать штатной качалкой сайта по 10-20 глав, потом склеивать их вместе, вручную допихивать нескачанные изображения и править мелкие косяки в коде. Такие книги занимали до 30% меньше места, чем выгруженные скриптом и не выдают ошибку в читалках. Собственно, MoonReader любит выдавать "failed to allocate memory" на них, а с не давнего времени и CoolReader с FBReader тоже стали вылетать, вот я и подумал, может скрипт чего-то лишнего в код добавляет...

Ox90Автор
§
Публикуван на: 06.03.2026

Просто раньше, до того я нашёл ваш скрипт, мне приходилось скачивать штатной качалкой сайта по 10-20 глав, потом склеивать их вместе, вручную допихивать нескачанные изображения и править мелкие косяки в коде. Такие книги занимали до 30% меньше места, чем выгруженные скриптом и не выдают ошибку в читалках.

Один из моих тестов итогового скрипта - проверка полученного файла валидатором. Так что случайного мусора там быть не должно. Да и глазами я файл тоже проверяю (не всегда). А разница в 30% - это довольно много для лишь текста, так что я подозреваю, что дело в картинках. Возможно ваши вставляемые картинки несколько меньше по разрешению/объему нежели картинки, которые получает скрипт. Кстати да, картинки отдаваемые сервером разным клиентам могут отличаться по объему. Сам на такое нарывался на автор.тудей. Даже тут, на сайте это обсуждали в комментариях к скрипту authortodayextractor. В любом случае, нужно сверять то, что вы получили старым способом с тем, что было получено новым. Хотя проще всего удалить блок binary в обоих версиях и сверить размеры файлов с только лишь текстом. Думаю, там не будет такой разницы. Я вижу два самых вероятных сценария: 1) Программа, которой вы вставляете картинки в итоговый fb2 файл, ужимает картинки перед вставкой. 2) В книге были картинки формата WebP и скрипт автоматически сконвертировал их в JPEG с меньшим сжатием чем в оригинале. 3) В base64 представлении картинок, которое формирует мой скрипт, попадает что-то лишнее.

Не могли бы вы куда-нибудь скинуть файлы, которые вы сформировали описанным вами способом, в месте с ссылкой на источник, чтобы я мог проверить в чем дело? Я сам сформирую файл скриптом и сверю с вашим.

§
Публикуван на: 06.03.2026

Увы, скинуть не могу, живу в месте с крайне плохим (и дорогим) интернетом. Согласен, что дело и правда может быть в сжатии изображений, кроме того скриптом пользуюсь уже давно, на сайте могло что-то и поменяться так, что вручную бы у меня сейчас возможно вышло бы хуже.
Только странно мне, что одни читалки свободно открывают книги, а другие выдают ошибки, но я слишком плохо разбираюсь в технических деталях, от того и пишу ещё и вам. Отдельные энтузиасты, зачастую, куда как отзывчивее, чем разработчики (та же поддержка MoonReader так и ответила, мол нас не колышет, свои проблемы решайте сами)
А для работы я пользовался MergeFb2 и FictionBook Editor. Из последнего как раз вчера скачивал https://tl.rulate.ru/book/17430 (кстати, тут скрипт не смог скачать всё целиком, выдал пустой fb2 файл нулевого размера, пришлось качать блоками)

Ox90Автор
§
Публикуван на: 06.03.2026

Только странно мне, что одни читалки свободно открывают книги, а другие выдают ошибки, но я слишком плохо разбираюсь в технических деталях, от того и пишу ещё и вам.

Тут вариантов может быть несколько. Например некоторые читалки не умеют читать формат WebP. Хорошо, если просто картинку не покажут, но ведь могут и книгу не открыть. Еще вариант, что читалка пытается загрузить в память не текущую страницу, а всю книгу целиком и ей просто не хватает памяти на мобильном устройстве. Обе проблемы связаны с реализацией конкретных читалок. В общем, буду думать.

Из последнего как раз вчера скачивал https://tl.rulate.ru/book/17430 (кстати, тут скрипт не смог скачать всё целиком, выдал пустой fb2 файл нулевого размера, пришлось качать блоками)

Странно. Проверил, скачалось нормально:

$ stat Leon\ Hart.\ Путём\ Демиурга\ \[RLT-17430\].fb2
  Файл: Leon Hart. Путём Демиурга [RLT-17430].fb2
  Размер: 19378976    Блоков: 37856      Блок В/В: 4096   regular file
...

И валидацию прошел.

§
Публикуван на: 06.03.2026
Еще вариант, что читалка пытается загрузить в память не текущую страницу, а всю книгу целиком и ей просто не хватает памяти на мобильном устройстве

Возможно, хотя куда уж столько памяти уходит, не пойму. Что оперативной, что общей памяти навалом...

Странно. Проверил, скачалось нормально

Ну, может дело в моём интернете или в браузере, всё-таки часа 3 качалось...

Опять же, я не слишком силён в технических деталях, могу или неправильно понимать или неточно описывать проблему.
В любом случае, огромная благодарность за вашу работу!

Публикувайте отговор

Влезте, за да публикувате отговор.