-
-
Save yukiarimo/8be25767362f580434aec0fc39504d3d to your computer and use it in GitHub Desktop.
function extractAndDownloadAllChapters() { | |
// Find all containers that hold chapter text | |
const chapterContainers = document.querySelectorAll('.cha-words'); | |
// Initialize an array to hold all chapter texts | |
let allChaptersText = []; | |
// Iterate over each chapter container | |
chapterContainers.forEach(container => { | |
// Get all paragraph elements within the container | |
const paragraphs = container.querySelectorAll('p'); | |
// Extract the text from each paragraph and join them with a newline character | |
const chapterText = Array.from(paragraphs).map(p => p.textContent.trim()).join('\n'); | |
// Add the chapter text to the array | |
allChaptersText.push(chapterText); | |
}); | |
// Join all chapters with two newline characters to separate them | |
const allText = allChaptersText.join('\n\n'); | |
// Create a Blob with the combined text content | |
const blob = new Blob([allText], { | |
type: 'text/plain' | |
}); | |
// Create an anchor element and use it to trigger the download | |
const anchor = document.createElement('a'); | |
anchor.href = URL.createObjectURL(blob); | |
anchor.download = 'allChaptersText.txt'; | |
document.body.appendChild(anchor); | |
anchor.click(); | |
document.body.removeChild(anchor); | |
} |
when I pasted it in the console as you said, it didn't do anything.
do I have to do something other than that? (I'm a ROOKIE)
It would be best to open the novel, as you would open it for reading (to see the actual text of the novel), and scroll to the end to load fully. And only then, run this script!
Kay, I'll try.
LOL. You just defined a function using function itsName() {}
. So, after that you need to call it by it's name in order to run it. In this case, it's extractAndDownloadAllChapters();
without the function
keyword!
Please just run extractAndDownloadAllChapters();
after you pasted the full function init code!
This seems really close to what I've been looking for. Thanks so much!
Is there a way to get it to save chapter numbers and titles, too? As it is, the text is just all one continuous block.
Didn’t it save them if it was written in the novel?
I'm not sure what you mean, but I started (as an example) here:
https://www.webnovel.com/book/i-can-copy-curses_29252483808354105/
...then I paged down as far as it would let me. Then I pasted the code in Console and used extractAndDownloadAllChapters();
It generated allChaptersText.txt , but none of the chapter titles were there; it was just a single uninterrupted flow of text.
About:
This simple script extracts and downloads all chapters from a
www.webnovel.com
website page.It finds all chapters and extracts the text from each paragraph within them.
To use it: