In the past, I had a userscript that would just clean up the DOM document on the page (along the lines of document.body.textContent = '') and would just fetch/parse/query the website content anew via XHR and render the content as I liked.
It worked pretty well. And if you keep using some common helper functions, it would not even be that much code. A few tens of lines, or something like that.
You're also within the browser and the origin, with all the cookies and stuff handled for you by the browser, and a ton of platform API at hand, so it's fairly easy to even make your own forms and submit data to the server.
It's also a way to not be accused of creating a derived work from some proprietary CSS/JS that might have been on the website, if you ever publish the userscript.
It worked pretty well. And if you keep using some common helper functions, it would not even be that much code. A few tens of lines, or something like that.
You're also within the browser and the origin, with all the cookies and stuff handled for you by the browser, and a ton of platform API at hand, so it's fairly easy to even make your own forms and submit data to the server.
It's also a way to not be accused of creating a derived work from some proprietary CSS/JS that might have been on the website, if you ever publish the userscript.