您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Парсер текста форматах FB2 и TXT с страницы сайта ранобэ.рф в форматах FB2 и TXT
Скрипт предназначен для работы на сайте ранобэ.рф
(кириллический домен) и предоставляет функционал для скачивания литературных произведений. Он позволяет пользователям извлекать полные метаданные, включая обложку, и контент глав, а затем компилировать их в единый файл формата FB2 или TXT для удобного чтения в оффлайн-режиме.
__NEXT_DATA__
)<script id="__NEXT_DATA__">
, который используется на сайтах, созданных с помощью фреймворка Next.js. Этот подход позволяет получить практически всю необходимую информацию о произведении (название, автор, аннотация, жанры, серия, дата публикации, URL обложки и полный список глав) одним действием, без необходимости сложного и хрупкого DOM-скрейпинга. Это делает сбор данных чрезвычайно быстрым и устойчивым к незначительным изменениям в верстке сайта.State
), который управляет жизненным циклом от инициализации до генерации файла. Функция setState()
централизованно переключает состояния и соответствующим образом обновляет интерфейс, блокируя или активируя элементы управления.createUI()
). Панель содержит все необходимые элементы: селекторы для выбора диапазона глав, поле для настройки задержки, опции очистки текста и управления кэшем.GM_setValue
/ GM_getValue
: Скрипт реализует персистентное кэширование. После первой успешной инициализации все собранные метаданные и список глав сохраняются в хранилище UserScript с использованием URL книги в качестве ключа. При последующих посещениях страницы данные мгновенно загружаются из кэша, что устраняет необходимость повторных сетевых запросов. Пользователю доступны кнопки для принудительного обновления или полной очистки кэша.generateFb2(...)
: Функция формирует высококачественный FB2-файл, включающий расширенный набор метаданных:
<genre>
.<sequence>
).<date>
).getBase64Image
), кодирует его в Base64 и встраивает непосредственно в FB2-файл в виде бинарного блока (<binary id="cover.jpg" ...>
). Это обеспечивает полную автономность файла и корректное отображение обложки во всех читалках.processChapters(format)
: Основной цикл загрузки глав, построенный на async/await
. Он итерируется по выбранному диапазону, загружая страницы с настраиваемой задержкой.ранобэ.рф
.__NEXT_DATA__
является наиболее эффективным и надежным методом для сайтов на Next.js, что выгодно отличает этот скрипт.localStorage
, хранилище GM_*
обеспечивает более надежное и долговечное кэширование данных.Фрагмент сгенерированного FB2-файла с обложкой и серией:
<?xml version="1.0" encoding="UTF-8"?>
<FictionBook xmlns="[http://www.gribuser.ru/xml/fictionbook/2.0](http://www.gribuser.ru/xml/fictionbook/2.0)" xmlns:l="[http://www.w3.org/1999/xlink](http://www.w3.org/1999/xlink)">
<description>
<title-info>
<genre>sf_fantasy</genre>
<genre>love_roman</genre>
<author><first-name>Имя Автора</first-name></author>
<book-title>Название Произведения</book-title>
<sequence name="Название Серии" />
<lang>ru</lang>
<annotation><p><b>Страна:</b> Корея</p>Текст аннотации...</annotation>
<coverpage><image l:href="#cover.jpg"/></coverpage>
<date value="2025-10-12">2025-10-12</date>
</title-info>
<document-info>
<date value="2025-10-12">2025-10-12</date>
<version>0.1</version>
</document-info>
</description>
<body>
<section><title><p>Глава 1</p></title><p>Текст главы...</p></section>
</body>
<binary id="cover.jpg" content-type="image/jpeg">/9j/4AAQSkZJRgABAQEASABIAAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAAB... (длинная строка Base64)</binary>
</FictionBook>
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址