I’m not sure when, but most likely when Leopard was released, applications started storing their cache files as sqlite databases (usually named Cache.db). For example, Safari has its cache at:
Apps that haven’t caught up yet are still using the less-efficient .cache files. Though not as efficient, these files are easier to access, just toss it onto BBEdit and you can see the contents. Try doing this with a 100+MB .db file and prepare to wait.
There probably is a GUI app to extract data from .db cache files, but I’m too lazy for that. OS X has everything you need already built in so fire up Terminal.app (I’ve been playing with Visor lately) and dig into your cache:
# cd ~/Library/Caches/com.apple.Safari/ # sqlite3 Cache.db
You’ll be in the sqlite interactive mode:
sqlite> select * from cfurl_cache_response; sqlite> select receiver_data from cfurl_cache_blob_data where entry_ID = ;
To output the data to a file use the following:
sqlite> .output test.html sqlite> select receiver_data from cfurl_cache_blob_data where entry_ID = ; sqlite> .exit
That should do it. Any questions? Leave a comment.