I thought about building one in PhantomJS, since it seems it can extract all the required assets, but gave up on it since most of the content I care about is in my RSS archive anyway.
For some audio/video sites there is youtube-dl, there is a list of sites it handles here: http://rg3.github.io/youtube-dl/documentation.html .
EDIT: there is a writeup about that is partially based on wget here: http://www.gwern.net/Archiving%20URLs#local-caching (also includes extracting URL from firefox history)
EDIT2: and if you're really desperate you could always use tcpdump/mitmdump and something like this: http://justniffer.sourceforge.net/#!/justniffer_grab_http_tr...
I thought about building one in PhantomJS, since it seems it can extract all the required assets, but gave up on it since most of the content I care about is in my RSS archive anyway.