This is the sort of thing you do for fun?

So, I’m fortunate enough to be married to a colossal nerd.  While we aren’t 100% into the same things, there’s definitely a crossover between our respective interests, and it means we can understand each other even in the instances where our Venn diagram isn’t intersecting.

Like, for example, she has developed a real taste for danmei, or Chinese novels that are mostly set in fictionalized historical settings with a lot of pretty men doing pretty men things.  This is a bit of a niche fandom but has become more popular in the last few years, with a fair number of official releases.

Unfortunately, one of the publishers of these novels went unceremoniously and unexpectedly out of business this month, with the result that some of their books – which had never received eBook versions – went IMMEDIATELY out of stock on every online retailer.  This was annoying as she’d had them on her Amazon Wishlist but had been prioritizing other stuff above them.

A few days later, she mentioned that she had found the series that she really wanted to read on an online novel reading site, so problem… solved?  Well, sorta.

See, neither of us really trust that anything on the internet is really permanent, especially moderately dodgy sites serving up bootleg translations.  So ideally it would be nice to have a local copy.

That’s where the real fun started.

Naturally, these sites live and die on their content, so they have a vested interest in making it difficult to scrape.  I wasn’t able to copy the text off the site, and trying to save the novel as a PDF or webarchive would get me one or two chapters at a time.

Some quick googling led me to a GitHub for an unmaintained project called “Novel Grabber”, however, and this seemed very promising.  Problem was, it was literally a situation where I was downloading a random .jar file from a random GitHub site from 2021, and this did not feel like something I wanted to run on my everyday computer.

No problem, right?  Just drop it on a test box and… oh.  I just sold all of my spare test boxes.  Well, I guess it’s time to spin up a quick Rocky Linux VM.

To make this slightly briefer, I’ll put it in the form of a bulleted list.

  • Download Rocky 9 image.
  • Download VirtualBox.
  • Try to create VM.  Get checksum error.
  • Discover that VirtualBox has some conflicts installing Rocky 9.
  • Download Rocky 8.
  • VM creation success!
  • Try to set up shared folders in VirtualBox.  Requires VirtualBox Guest Additions.
  • Try to find VirtualBox Guest Additions, the answer is to unzip the VirtualBox installer as they are available on an .iso file inside the installer.
  • Try to install VirtualBox Guest Additions from this .iso.  Fails because of lack of kernel headers.
  • Install kernel headers and now Guest Additions compile.
  • Create shared folder, get permissions errors trying to access it in Linux.
  • Discover that using shared folders in Linux in VirtualBox requires adding user to vboxsf group.
  • Google how to do this in Rocky.  Discover Rocky has a tool called “Cockpit” for system management.
  • …which isn’t installed by default.  Download and install Cockpit.
  • Now I can access shared folder.  Copy the Novel Grabber tool to the Linux box via shared folder
  • Run tool.  No Java installed by default.  Install Java.
  • Run tool again.  GUI won’t launch for some reason.  Figure out command line options.
  • Run tool again, with command line options, pointing it at the specific novel she wants to read.
  • Success! I have an epub file containing the entire text of the novel.  That only took, well, two or three hours and about a dozen open tabs where I was googling error messages as they popped up.
  • …oh, and it’s missing the cover image.  I guess I can probably add one via Calibre.  BUT FOR NOW, I am classifying it as a Great Success and totally worth the very educational amount of effort this entailed.

This is totally the sort of thing that normal people do for fun, right?

 

 

 

This entry was posted in organization, random. Bookmark the permalink.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.