以编程方式访问浏览器历史记录
时间:2020-03-05 18:50:43 来源:igfitidea点击:
我如何创建一个应用程序以读取我所有的浏览器(firefox)历史记录?
我注意到我有
C:\ Users \ user.name \ AppData \ Local \ Mozilla \ Firefox \ Profiles \ 646vwtnu.default
什么看起来像一个sqlite数据库(urlclassifier3.sqlite),但我不知道它是否真的用来存储历史信息。
我搜索了有关如何执行此操作的示例,但未找到任何内容。
ps:尽管标题相似,但我认为这个问题与"如何访问浏览器历史记录"不同。
解决方案
回答
我相信places.sqlite
是我们应该寻找的历史记录(Firefox 3)。以下是几个Mozilla Wiki条目,其中包含有关该主题的一些信息。
- Mozilla 2:统一存储
- 浏览器历史记录(请参见此处的"数据库设计"部分)
在早期版本的Firefox中,他们将历史记录存储在名为" history.dat"的文件中,该文件以" Mork"格式编码。 Jamie Zawinski的这个perl脚本可用于解析Mork文件。
回答
我还发现以下链接很有趣:
- 从字面上看用Firefox 3创造历史
- .NET上的SQLite-3分钟即可启动并运行。
- SQLite Manager Firefox插件
在我的.Net项目中添加对System.Data.Sqlite的引用之后,创建连接所需要做的就是:
cnn = New SQLiteConnection("data source=c:\Users\user.name\AppData\Roaming\Mozilla\Firefox\Profiles6vwtnu.default\places.sqlite") cnn.Open()
我有一个小故障,.net sqlite提供程序不支持sqlite3_enable_shared_cache,我认为这阻止了我在运行Firefox时打开places.sqlite数据库(请参阅对sqlite3_enable_shared_cache的支持)
回答
Firefox SQLite Manager插件是一个很棒的工具。如果我们想了解Firefox Places设计和数据库架构,请访问Mozilla Places。