@ZEAL Blog·厉
WWW Zeal Blog
We stand alone,
TOGETHER.

Firefox访问历史清理脚本

Posted by zeal on 2009-08-21 17:47 , 5852 characters |  + 0 - 0   English
转载请保留本行原始出处声明信息 : http://www.zeali.net/entry/628 MaDe1nZEAL
标签 ( 网络 ):  ,  , 
Firefox把URL访问历史记录在个人Profile目录下的 places.sqlite 文件中。有时候我们希望 Firefox 尽可能多的记录那些有用的历史,而忽略某些访问很频繁但不太需要留下访问历史的页面(比如Google的搜索结果页、内容跳转页)。既然记录访问历史的是一个 SQLite 数据库文件,那么我们就可以直接通过 sql 语句来达到数据维护的目的。

Firefox 本身没有内建的访问历史记录过滤器之类的功能,所以那些每天访问频率很高但意义不大的URL地址会占据 places.sqlite 文件的大部分空间。当 places.sqlite 文件越来越大的时候,Firefox的地址栏就变得很卡,查看历史记录也是如此。如果只是把访问历史的保留天数改小的话,在提高了速度的同时也丢失了很多有价值的历史URL。

本来想找些扩展来达到类似的自定义过滤,结果只有找到一个 HistoryBlock 功能比较近似,可惜只是针对整个域名而不是通配符过滤,而且实现机制是去动态的删除历史记录里面的相关记录,比较影响Firefox的使用速度。看来看去还是根据自己的访问习惯写一段SQL来操作 places.sqlite 比较靠谱。

首先当然需要到这里下载一个对应版本的 sqlite 。在 windows 下要做的就是把down下来的 sqlite.exe 放到系统目录供后续使用。如果觉得命令行太麻烦的话 SQLiteExpert 是个不错的 GUI ,可以方便查看测试。

以下是 sql 脚本示例:

把整个 sql 脚本存成文件,比如 /path/to/anywhere/my_places_clean.sql

再写一个批处理文件:

每次执行批处理就根据 sql 脚本的内容对 places.sqlite 进行垃圾清理并压缩,同时把原来的 sqlite 文件按时间戳进行备份。以上的sql过滤条件和批处理方式完全根据我自己的喜好设定,请在仔细阅读之后再CV执行,记得先备份好您的 places.sqlite 文件以免造成不必要的数据丢失。places.sqlite 数据库的详细结构说明和注意问题请参见 Mozilla Firefox 3 History File Format 条目。 

1 条评论:
- haphic () (link) 于 2009-08-22 23:13
这种玩儿法的确很高级, 嘿嘿~
日志存档
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
本 Blog 原创内容
遵循以下授权:

Creative Commons
(创作共用) CC

署名-非商业性
-相同方式分享
ZEAL Blog 基于
Powered byPivot - 1.24.1: 'Arcee'
Pivot1.24.1
开发
系统部署于
Linode.com
Launched @
2005-04-27
Since 2005.04.27  梦想 就像鸡蛋 要么孵化 要么臭掉RSS Feed (Entries) | About me | Back To Home | @ZEAL | zbird.com | 沪ICP备05024379号