以编程方式访问浏览器历史记录
问题描述:
我该如何创建一个应用程序来读取我所有的浏览器(Firefox)历史记录? 我注意到,我在以编程方式访问浏览器历史记录
C:\用户\ user.name \应用程序数据\本地\ Mozilla的\火狐\ Profiles文件\ 646vwtnu.default
什么样子了SQLite数据库(urlclassifier3.sqlite),但我不知道它是否真的用来存储历史信息。 我搜索了如何做到这一点的例子,但没有找到任何东西。
PS:虽然标题是类似的,我相信这个问题是不一样的"How do you access browser history?"
答
我相信places.sqlite
是你应该寻找到了历史上一个(火狐3)。以下是一些有关这个主题的Mozilla维基条目。
- Mozilla 2: Unified Storage
- Browser History(尤其见节“数据库设计”在这里)
在早期版本的Firefox,他们保存的历史在一个名为history.dat
文件,该文件是在一个名为格式编码“莫克”。 This perl script by Jamie Zawinski可用于解析Mork文件。
答
我还发现了以下链接很有趣:
- Literally make history with Firefox 3
- SQLite on .NET - Get up and running in 3 minutes.
- SQLite Manager Firefox Addon
在我的.NET项目加入到System.Data.Sqlite的引用之后,我所要做的只是建立连接:
cnn = New SQLiteConnection("data source=c:\Users\user.name\AppData\Roaming\Mozilla\Firefox\Profiles\646vwtnu.default\places.sqlite")
cnn.Open()
我有一个轻微的毛刺有.NET sqlite的提供者不支持sqlite3_enable_shared_cache我相信这是防止我同时具有Firefox中运行打开places.sqlite数据库(见Support for sqlite3_enable_shared_cache)