Giter Club home page Giter Club logo

elib2ebook's People

Contributors

alfeg avatar onlyfart avatar redbuld avatar rider21 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elib2ebook's Issues

Можно ТГ?

На @okoloskov пишет, что такого пользователя нет.

dark-novels.ru

не качает книги с dark-novels.ru
Unhandled exception. System.Text.Json.JsonException: 'e' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0.
---> System.Text.Json.JsonReaderException: 'e' is an invalid start of a value. LineNumber: 0 | BytePositionInLine: 0.
at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& , ExceptionResource , Byte , ReadOnlySpan1 ) at System.Text.Json.Utf8JsonReader.ConsumeValue(Byte ) at System.Text.Json.Utf8JsonReader.ReadFirstToken(Byte ) at System.Text.Json.Utf8JsonReader.ReadSingleSegment() at System.Text.Json.Utf8JsonReader.Read() at System.Text.Json.Serialization.JsonConverter1.ReadCore(Utf8JsonReader& , JsonSerializerOptions , ReadStack& )
--- End of inner exception stack trace ---
at System.Text.Json.ThrowHelper.ReThrowWithPath(ReadStack& , JsonReaderException )
at System.Text.Json.Serialization.JsonConverter1.ReadCore(Utf8JsonReader& , JsonSerializerOptions , ReadStack& ) at System.Text.Json.JsonSerializer.ReadCore[TValue](JsonConverter , Utf8JsonReader& , JsonSerializerOptions , ReadStack& ) at System.Text.Json.JsonSerializer.ReadCore[TValue](JsonReaderState& , Boolean , ReadOnlySpan1 , JsonSerializerOptions , ReadStack& , JsonConverter )
at System.Text.Json.JsonSerializer.ContinueDeserialize[TValue](ReadBufferState& , JsonReaderState& , ReadStack& , JsonConverter , JsonSerializerOptions )
at System.Text.Json.JsonSerializer.ReadAllAsync[TValue](Stream , JsonTypeInfo , CancellationToken )
at System.Net.Http.Json.HttpContentJsonExtensions.ReadFromJsonAsyncCore[T](HttpContent , Encoding , JsonSerializerOptions , CancellationToken )
at Elib2Ebook.Logic.Getters.DarkNovelsGetter.Authorize() in D:\a\Elib2Ebook\Elib2Ebook\Elib2Ebook\Logic\Getters\DarkNovelsGetter.cs:line 50
at Elib2Ebook.Program.<>c.<

b__0_0>d.MoveNext() in D:\a\Elib2Ebook\Elib2Ebook\Elib2Ebook\Program.cs:line 49
--- End of stack trace from previous location ---
at CommandLine.ParserResultExtensions.WithParsedAsync[T](ParserResult1 result, Func2 action)
at Elib2Ebook.Program.Main(String[] args) in D:\a\Elib2Ebook\Elib2Ebook\Elib2Ebook\Program.cs:line 23
at Elib2Ebook.Program.(String[] args)

jaomix: Object reference not set to an instance of an object.

Ни одна из книг не генерируется. Постоянно ошибка "Object reference not set to an instance of an object." сразу после "Генерация книги {url} завершилась с ошибкой".

не скачивает с сайта **remanga.org**

Версия Elib2Ebook 1.30.23 не скачивает с сайта remanga.org:

Начинаю генерацию книги "https://remanga.org/manga/a-infinite-wizard"
Загружена картинка https://remanga.org/media/titles/a-infinite-wizard/98a7d1dcb086de927833b07335b8bc55.jpg
Загружаю главу "Том 1. Глава 1"
Генерация книги https://remanga.org/manga/a-infinite-wizard завершилась с ошибкой. The JSON value could not be converted to Elib2Ebook.Types.Renovels.RenovelsPage. Path: $.content.pages[0] | LineNumber: 0 | BytePositionInLine: 555.

Начинаю генерацию книги "https://remanga.org/manga/dark-summoner"
Загружена картинка https://remanga.org/media/titles/dark-summoner/39a75e8b730560c4dd40865e4c39bc97.jpg
Загружаю главу "Том 1. Глава 0"
Генерация книги https://remanga.org/manga/dark-summoner завершилась с ошибкой. The JSON value couldnot be converted to Elib2Ebook.Types.Renovels.RenovelsPage. Path: $.content.pages[0] | LineNumber: 0 | BytePositionInLine: 956.

Начинаю генерацию книги "https://remanga.org/manga/reincarnation-plan"
Загружена картинка https://remanga.org/media/titles/reincarnation-plan/540948e6326b29834c7dbaa487edd4ae.jpg
Загружаю главу "Том 1. Глава 1"
Генерация книги https://remanga.org/manga/reincarnation-plan завершилась с ошибкой. The JSON value could not be converted to Elib2Ebook.Types.Renovels.RenovelsPage. Path: $.content.pages[0] | LineNumber: 0 | BytePositionInLine: 565.

Проблемы со скачкой с ranobelib.me

Некоторые книги не качает, например:

Генерация книги https://ranobelib.me/lonely-attack-on-the-different-world/v0/c1 завершилась с ошибкой. Исключение Object reference not set to an instance of an object.

Поддержка ranobe-novels.ru

Типичный клон wuxiaworld.ru, но без бана ботов. Зашел на клоне старенького онлайн прокси (tedforcum.com/proxy.php), и успешно заработало.

Ошибки формата

При скачивании книги https://readli.net/deadushka-2/ на странице https://readli.net/chitat-online/?b=1185260&pg=36 строка выглядит:
«

(Не обязательная глава с эротической порнографической сценой. Чисто в виде бонуса для моих любимых читателей.)

».
А в файл скачивается в виде:
«

»
«

(Не обязательная глава с

эротической

порнографической сценой. Чисто в виде бонуса для моих любимых читателей.)

»
«

».
Не сложно ли поправить?

Добавить в `Elib2Ebook` параметр `-f json-dev`

В отличие от -f json имеются следующие изменения:

  1. JSON.parse(book.json).Cover
  {
    Cover : <EDIT: тут url вместо изображения в base64>
  }
  1. JSON.parse(book.json).Chapters[i].Images
  {
    Chapters: [
                i : {
                      Images : [
                                 {
                                   Content : <EDIT: тут url вместо изображения в base64>
                                   Headers : <NEW : тут новое свойство с headers, относящихся к url из свойства выше>
                                 }
                                 ...
                               ]
                    }
                ...
              ]
  }
  1. В stdout
    • сначала идут логи (Начинаю генерацию книги "https://...)
    • затем, после Книга "book.json" успешно сохранена, идет разделитель (например, \n<JSON-DEV>\n)
    • и в конце идёт json-dev (файл book.json-dev не создаётся, а выводится в stdout)
      (всё равно для логов надо stdout через stream считывать - заодно и данные через него же получать... тем более, когда вместо base64 будут url с headers содержимое выводимого файла самое большее 3MB будет весить и RAM сильно жрать не будет даже при параллельной работе Elib2Ebook в нескольких потоках)

P.S. :
На мой взгляд, надо только определиться с разделителем (любой бесполезный набор символов подойдёт).

@OnlyFart

[ranobelib.me] изображения не добавляются в .epub

Команда: ./Elib2Ebook --url https://ranobelib.me/kagerou-daze --format epub
Версия dotnet: 6.0.102
Версия программы - последняя релизная - 1.3
os: Linux arch 5.17.5-arch1-1

Получившаяся в результате книжка - https://disk.yandex.ru/d/9gehp_xEtz83wA
Из файла видно, что из картинок только обложка, хотя, судя по выводу программы - она скачивает все изображения, но, почему-то, не добавляет в html файлы к тексту:
image

Фьючэ рэквест #01: resize images in fb2|epub

  1. возможность задать размер наибольшей стороны у каждого изображения в fb2|epub (типа --max-image-size=600)
  2. возможность задать размер наименьшей стороны у каждого изображения в fb2|epub (типа --min-image-size=300)
  3. если одна из сторон изображения меньше, чем --min-image-size, то оно выдаётся как есть (без редактирования/уменьшения)

dark-novels не скачивает

ошибка после начала генерации книги.
Object reference not set to an instance of an object.

скачивал последнюю(1.30.29) версию где был исправлен этот сайт.

Поддержка feisovet.ru

Поддержка ranobes.net

Привет, можешь сделать поддержку ranobes.net. Это ж вроде тоже самое что и ranobes.com(или нет)

Ошибка скачивания с readli.net

Книга «Стоп. Снято! Фотограф СССР» Токсик Саша.
Строка на странице 42:
«<p><strong>История попаданца<strikethrough> в жопу ещё более глубокую... </strikethrough>в ещё больший медвежий угол, чем мой фотограф, причём в 1970 год.</strong></p>»
качается в виде:
«<p><strong>История попаданца<p> в жопу ещё более глубокую... </p>в ещё больший медвежий угол, чем мой фотограф, причём в 1970 год.</strong></p>»

Выбор переводчика на ranobelib.me

./Elib2Ebook --version
Elib2Ebook 1.10.3

Пример книги:
https://ranobelib.me/ascendance-of-a-bookworm-novel

Выбираю перевод от Lunar group
Ссылка https://ranobelib.me/ascendance-of-a-bookworm-novel?bid=264&section=chapters
Начинаю скачивать:

./Elib2Ebook --url "https://ranobelib.me/ascendance-of-a-bookworm-novel?bid=264&section=chapters"  --format epub
Основной домен https://ranobelib.me/ доступен. Работаю через него
Начинаю генерацию книги "https://ranobelib.me/ascendance-of-a-bookworm-novel?bid=264&section=chapters"
Загружаю картинку "https://ranobelib.me/uploads/cover/ascendance-of-a-bookworm-novel/cover/v5vlHg0ThhJB_250x350.jpg"
Загружаю главу Том 1 Глава 1.0 Пролог
Загружаю главу Том 1 Глава 2.0 Новая жизнь
Загружаю главу Том 1 Глава 3.0 Исследование моего дома

Это названия глав от перевода Rulate Project YM, то есть программа игнорирует параметр ?bid=264 в ссылке и скачивает первый перевод по порядку.
Можно ли добавить поддержку выбора переводчика?

Фьючэ рэквест #02 (наглеть так наглеть :D)

Хотелось бы подключать всю эту хрень в качестве библиотеки.
Я понятия не имею, как я это буду подключать к node.js... но очень хочется))

Если вдруг "хрен тебе, золотая рыбка", то хотелось хотя бы иметь возможность: не "прога херачит в файл (fb2|epub)", а "прога выдаёт Readable Stream".

Если и тут "хрен тебе, перетопчешься", то хотя бы типа такого:

const   cp    = require('node:child_process')
cp.spawn( 'dotnet',
          [
            'Elib2Ebook.dll',
            '-u', 'https://author.today/reader/1',
            '-f', 'fb2',
            '-O', '-'   // на худой конец вывод чистого fb2 в stdout (а не логи)
                        // без всех этих "Загружаю главу "Пролог. За два дня до описываемых событий."
                        // эту хрень (логи) можно выводить в stderr (когда '-O -' задано)
          ]
        );

Доп. материалы на author.today

Возможно ли скачивать содержимое вкладки Доп. материалы (картинки, доки, etc.) с сайта author.today в отдельную папку рядом с книгой?
Или вывести список url этих файлов в лог.
И ещё косметика. Нельзя ли выводить название книги перед началом скачивания, а не в конце.

Ошибка загрузки с ranobelib.me

Не скачивает некоторые книги, выдает данную ошибку.

Начинаю генерацию книги "https://ranobelib.me/the-earth-is-online"

Загружена картинка https://ranobelib.me/uploads/cover/the-earth-is-online/cover/8KaJCmE68G5X_250x350.jpg
Загружаю главу Том 1 Глава 1 Дин Дон! 15 ноября, 2017 – Земля вышла онлайн
Генерация книги https://ranobelib.me/the-earth-is-online завершилась с ошибкой. Object reference not set to an instance of an object.

mangalib.me - > 2й сервер

  1. Можно ли сделать так, чтоб прога качала с "второго" сервера странички, вместо "сжатого"? А то при скачивании веб манхв, там качество сильно шакалится, а на "втором" на глаз лучше чем на "первом", и намного лучше чем в "сжатом".

  2. и раньше можно было не только с mangalib.me но и hentailib.me качать, а теперь только с мангалиба ибо только там можно пароль не вводить и тянуть, можно и это как-то сделать? Типо в проге вбиваешь:

C:\Portable\Elib2Ebook-Windows\Elib2Ebook.exe -u https://hentailib.me/ -f cbz -l Vasya -p Pupkin

а он будет этот логг/пасс вводить уже в lib.social на который перебрасывают сайты, авторизовать там, и тянуть странички уже откуда надо.

Скачивание с RanobeLib не работает

Возникает ошибка

Начинаю генерацию книги "https://ranobelib.me/violet-evergarden-novel"
Загружаю картинку "https://staticlib.me/uploads/cover/violet-evergarden-novel/cover/eS8s0RCZus3v_250x350.jpg"
Загружаю главу Том 1 Глава 0 Пролог
Генерация книги https://ranobelib.me/violet-evergarden-novel завершилась с ошибкой. Исключение:

System.NullReferenceException: Object reference not set to an instance of an object.
   at Elib2Ebook.Extensions.HttpClientExtensions.GetHtmlDocWithTriesAsync(HttpClient client, Uri url) in \Elib2Ebook\Extensions\HttpClientExtensions.cs:line 83
   at Elib2Ebook.Logic.Getters.RanobeLibGetter.GetChapter(Uri url) in \Elib2Ebook\Logic\Getters\RanobeLibGetter.cs:line 95
   at Elib2Ebook.Logic.Getters.RanobeLibGetter.FillChapters(WindowData data, Uri url) in \Elib2Ebook\Logic\Getters\RanobeLibGetter.cs:line 83
   at Elib2Ebook.Logic.Getters.RanobeLibGetter.Get(Uri url) in \Elib2Ebook\Logic\Getters\RanobeLibGetter.cs:line 56
   at Elib2Ebook.Program.<>c.<<Main>b__0_0>d.MoveNext() in \Elib2Ebook\Program.cs:line 48

Оглавление

Если скачать только определённые главы, то в оглавлении всё равно отображается с единицы.
То бишь 601 глава отображается как первая, а 750 как 150-ая. (было бы лучше если бы отображалось не 1-150, а индекс главы, как те что указывали в параметрах --start --end)
Ну а также было бы неплохо, если в оглавление отображалось название самой главы.

httpx.HTTPStatusError: Client error '429 Too Many Requests' for url 'https://author.today/reader/149497/chapter?id=1257445'

Running example.py for purchased book 149497 fails:

$ python example.py
Authorized as XXX

Traceback (most recent call last):
  File "D:\src\AuthorTodayToFB2Converter\example.py", line 68, in <module>
    asyncio.get_event_loop().run_until_complete(main())
  File "C:\Python39\lib\asyncio\base_events.py", line 642, in run_until_complete
    return future.result()
  File "D:\src\AuthorTodayToFB2Converter\example.py", line 27, in main
    await book.GetBookFromUrl("work/149497")
  File "D:\src\AuthorTodayToFB2Converter\Classes\Book.py", line 25, in GetBookFromUrl
    await self.GetBookChapters()
  File "D:\src\AuthorTodayToFB2Converter\Classes\Book.py", line 31, in GetBookChapters
    await self.getMultipleChapters(user)
  File "D:\src\AuthorTodayToFB2Converter\Classes\Book.py", line 49, in getMultipleChapters
    await task
  File "D:\src\AuthorTodayToFB2Converter\Classes\Book.py", line 69, in GetBookChapter
    await chapter.GetChapterFromUrl(url)
  File "D:\src\AuthorTodayToFB2Converter\Classes\Chapter.py", line 27, in GetChapterFromUrl
    chapterResponse.raise_for_status()
  File "D:\src\AuthorTodayToFB2Converter\venv\lib\site-packages\httpx\_models.py", line 1507, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Client error '429 Too Many Requests' for url 'https://author.today/reader/149497/chapter?id=1257445'
For more information check: https://httpstatuses.com/429

Фьючэ рэквест #03 (это уже не наглость, а что-то большее)))

Помимо говнокодеров (прошу меня к ним не причислять, ибо ещё не дорос),
есть ещё и говнописатели, действующие по алгоритму:
- "А возьму-ка я, да под конец книги, перепишу-ка первые 5 глав..."
Понятно, что адекватный читатель спокойно скажет:
- "Вот сука!!!"
и не будет ни хрена перечитывать...

Моё видение "консенсуса в подобных высерах" следующее:

  1. прога качает и отдает не только fb2|epub, но и html поглавно (без всякой обработки) (для будущего сравнения "а не подосрал ли нам говнописатель")
  2. при задании, например, аргумента -O - прога сначала отдаёт в stdout html поглавно
  3. а уже затем в stdout книгу целиком в формате fb2|epub
  4. каким маркеромstdout) отмечать разделение между html-главами, а каким между html и fb2|epub - вопрос открытый
    (
      как вариант:
        - html поглавно можно писать в stdout,
        - книгу в формате fb2|epub в stderr,
        - а ошибку возвращать через exit code + <Название книги.err.log>
      ...
      божечки, какой ужас я тут предлагаю :(
      да, библиотекой было бы шикарно, но попка может слипнуться :D
    )
  5. а дальше уже в своём коде можно будет делать md5 для html-глав и сохранять в базу (html + md5)

P.S.: Очень не хочется гонять туда-сюда данные в файлах:

  • сначала html поглавно в файлы
  • потом fb2|epub в файл
  • потом всё это считывать в Readable Stream, по кусочкам загоняя в базу, словно "Кощей" трясясь над "златом"/RAM

Бот на телеге закрылся

Доброе время суток! Можешь подсказать новый бот для скачивания на телеге, если он есть. А то старый закрыли((( Заранее спасибо

Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.

Hi, after a recent dotnet upgrade to 6.0.21 I'm now having this error (linux x64):

Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
   at OnlineLib2Ebook.Extensions.HttpClientExtensions.GetHtmlDocWithTriesAsync(HttpClient client, Uri url) in /home/alex/src/OnlineLib2Ebook/OnlineLib2Ebook/Extensions/HttpClientExtensions.cs:line 56
   at OnlineLib2Ebook.Logic.Getters.AuthorTodayGetter.Authorize() in /home/alex/src/OnlineLib2Ebook/OnlineLib2Ebook/Logic/Getters/AuthorTodayGetter.cs:line 82
   at OnlineLib2Ebook.Logic.Getters.AuthorTodayGetter.Get(Uri url) in /home/alex/src/OnlineLib2Ebook/OnlineLib2Ebook/Logic/Getters/AuthorTodayGetter.cs:line 41
   at OnlineLib2Ebook.Program.<>c.<<Main>b__0_0>d.MoveNext() in /home/alex/src/OnlineLib2Ebook/OnlineLib2Ebook/Program.cs:line 40
--- End of stack trace from previous location ---
   at CommandLine.ParserResultExtensions.WithParsedAsync[T](ParserResult`1 result, Func`2 action)
   at OnlineLib2Ebook.Program.Main(String[] args) in /home/alex/src/OnlineLib2Ebook/OnlineLib2Ebook/Program.cs:line 21
   at OnlineLib2Ebook.Program.<Main>(String[] args)
Aborted (core dumped)

Thanks

Ficbook error

Генерация любой книги вызывает ошибку.

Object reference not set to an instance of an Object.

(ficbook.net)

Выборка глав

Можете добавить возможность скачивать отрезок глав?

Например --start 10 --end 20
Если end не указывается, то скачивается до конца, а если start, то скачивается от первой главы.

С учётом возможных глав которые вместо номера содержат только имя, тогда указывается path.
Например из URL https://dark-novels.ru/read/722/427960 будет --start "304239" --end "427966", что будет с 1й по 7ю главу.

Ждать пока скачается 100500 прочитанных глав такое себе удовольствие как для меня так и для сервиса который отдает контент.

тэги <u> и цветной текст на author.today

На странице «Государь» строка
«<p><span><span>[3]</span></span><span><span style="color:black"> </span></span><span><span style="color:black">Шерстяные</span></span><span><span style="color:black"> </span></span><span><span style="color:black">и полушерстяные</span></span><span><span style="color:black"> женские </span></span><span><span style="color:black">платки</span></span><span style="color:black">,<span> </span><span>украшенные</span><span> </span><span>традиционным</span><span> </span><span>красочным</span><span> </span><span>набивным</span><span> </span><span>орнаментом</span>,<span> </span><span>возникшим</span><span> </span><span>в подмосковном</span><span> </span><span>городе</span><span> </span></span><span><u><span>Павловский</span></u></span><span><u><span> </span></u></span><span><u><span>Посад</span></u></span></p>»
выводится в виде
«<p>[3] Шерстяные и полушерстяные женские платки, украшенные традиционным красочным набивным орнаментом, возникшим в подмосковном городе <p>Павловский</p><p> </p><p>Посад</p></p>»,
т.е. тэги <u> отрабатываются неверно.

Кроме того строки вида: «<p><span style="color:red">— Ступай.</span></p>»
желательно выводить в форме «<p style="color:red">— Ступай.</p>», а не «<p>— Ступай.</p>», как сейчас делается.

На странице «Покоривший СТЕНУ»
также есть цветные фрагменты вида «<span style="color: rgb(0, 176, 240)">…</span>» и «<span style="color: rgb(255, 80, 80)">…</span>».

Для чайников

Джруже, обьясни для хлебушка куда и что писать , я уже пол часа по вкладкам бегаю .
Тут что то скачать надо? Или онлайн писать .
Обьясни пожалуйста. Заранее благодарю.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.