blog » Database / MAC » 关于leopard上safari的缓存

关于leopard上safari的缓存

在网上听歌时,想直接把好听的歌弄到本地来。windows上就会直接去temporary files目录下找缓存文件,但是用了leopard上的safari,怎么找呢?

首先网上查了下,确定了缓存文件的位置:/Users/yuyii/Library/Caches/com.apple.Safari/

目录下只有一个文件,就是Cache.db,既然告诉我是db了,那就猜测下,直接用sqlite3开,果然可以(附带一提,mac上不少数据库都用的sqlite3的,包括用户信息的那个也是~因为MAC上的用户管理是有2套方案的,并不是仅仅使用*nix上的passwd加shadow的方式,具体感兴趣的可以去google)

打开后,一共3张表。关于一些实质性数据内容的都存放在cfurl_cache_blob_data表。然后就是找到我要的mp3了。实际是在这个字段:receiver_data。可以用sqlite3的length函数去估计下 select entry_ID,length(receiver_data) from cfurl_cache_blob_data order by entry_ID desc limit 10   .这边要注意下,别查所有的,数据量会很大的。如果想干净点的,可以先在safari上选清除缓存,然后再一步步来处理。

最后就是取出sqlite3的blob字段,然后保存为文件,这里我暂时没法直接用sqlite3命令读取出然后保存,好像要用到sqlite3的一些api函数。之后再做补充。

相关文章:


RSS 2.0 | leave a response | trackback

发表评论