WebToEpub icon indicating copy to clipboard operation
WebToEpub copied to clipboard

Please add site https://novelsfull.com/

Open narifin01 opened this issue 11 months ago • 2 comments

Please note, I'm basically the only developer working on WebToEpub, and I'm not paid for doing this. (WebToEpub is completely free, and generates no money.) By asking to add a site, you're asking me to give you some of my limited free time. So, I think it's not unreasonable for me to ask you to do as much as you can to help me.

Provide URL for web page that contains Table of Contents (list of chapters) of a typical story on the site

Did you try using the Default Parser for the site? If not, why not?

Instructions for using the default parser can be found at https://github.com/dteviot/WebToEpub/wiki/FAQ#how-to-convert-a-new-site-using-the-default-parser

What settings did you use? What didn't work?

  • URL of first chapter
  • CSS selector for element holding content to put into EPUB
  • CSS selector for element holding Title of Chapter
  • CSS selector for element(s) to remove

If the Default Parser did not work, if you have developer skills, did you try writing a new parser?

Instructions https://github.com/dteviot/WebToEpub/wiki/FAQ#how-to-write-a-new-parser

If you don't have developer skills, can you ask a friend who does have them if they can do it for you?

If you tried writing a parser, and it doesn't work. Attach the parser here.

narifin01 avatar Feb 07 '25 05:02 narifin01

@narifin01

Getting table of contents looks to be a bit tricky. Given a story like https://novelsfull.com/novel/conan-beika-town-in-the-white-eyes-f48e3520e9 To get the links to the chapters, need to make a GET call to https://api.novelsfull.com/api/book/chapter-list/conan-beika-town-in-the-white-eyes-f48e3520e9 This will return a JSON object, with an encrypted data section. To decrypt the data, looks like the following is needed.

        let i = {
            _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
            de: function(e) {
                var t, a, r, n, s, l, o, d = "", c = 0;
                for (e = e.replace(/[^A-Za-z0-9\+\/\=]/g, ""); c < e.length; )
                    n = this._keyStr.indexOf(e.charAt(c++)),
                    s = this._keyStr.indexOf(e.charAt(c++)),
                    l = this._keyStr.indexOf(e.charAt(c++)),
                    o = this._keyStr.indexOf(e.charAt(c++)),
                    t = n << 2 | s >> 4,
                    a = (15 & s) << 4 | l >> 2,
                    r = (3 & l) << 6 | o,
                    d += String.fromCharCode(t),
                    64 != l && (d += String.fromCharCode(a)),
                    64 != o && (d += String.fromCharCode(r));
                return i._utf8_decode(d)
            },
            _utf8_decode: function(e) {
                for (var t = "", a = 0, r = 0, n = 0; a < e.length; )
                    (r = e.charCodeAt(a)) < 128 ? (t += String.fromCharCode(r),
                    a++) : r > 191 && r < 224 ? (t += String.fromCharCode((31 & r) << 6 | 63 & e.charCodeAt(a + 1)),
                    a += 2) : (t += String.fromCharCode((15 & r) << 12 | (63 & e.charCodeAt(a + 1)) << 6 | 63 & e.charCodeAt(a + 2)),
                    a += 3);
                return t
            }
        };

        decode(json) {
            return JSON.parse(i.de(json.data));
        }

Notes Time taken: 110 minutes

dteviot avatar Feb 10 '25 00:02 dteviot

@narifin01

Test versions for Firefox and Chrome have been uploaded to https://github.com/dteviot/WebToEpub/releases/tag/developer-build. Pick the one suitable for you, follow the "How to install from Source (for people who are not developers)" instructions at https://github.com/dteviot/WebToEpub/tree/ExperimentalTabMode#user-content-how-to-install-from-source-for-people-who-are-not-developers and let me know how it goes. Tested with:

  • https://novelsfull.com/novel/black-knight-from-blue-star-f5893723ed, chapters 1 & 2
  • https://novelsfull.com/novel/the-hell-card-brings-a-depressing-whistle-to-people-f48e3521ef, chapters 1 & 2

Notes Time taken: 192 minutes (total)

dteviot avatar Feb 10 '25 02:02 dteviot

@narifin01

Updated version (1.0.3.0) has been submitted to Firefox and Chrome stores. Firefox version is available now. Chrome might be available in a few hours (typical) to 21 days.

dteviot avatar Mar 09 '25 05:03 dteviot