Please add site https://novelsfull.com/
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
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
@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)
@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.