(当然本文仅针对 PC 浏览器)
安卓用户也不是不可以,但是手机浏览器的门类实在太多,难以一个个研究。所以本文仅采用 PC 端的 Chrome 和 Firefox 浏览器作为示例。同时,由于本文在 Linux 系统环境下写作,有可能与 Windows 系统下的操作有所出入。
至于手机浏览历史记录,应该可以用同步或者导出的方式进行。
提取历史记录的保存文件
Chrome 浏览器可以在地址栏输入:chrome://version/
Firefox 浏览器可以在地址栏输入:about:profiles
其他种类浏览器( 360 安全浏览器、搜狗高速浏览器、QQ 浏览器、百度浏览器之流)应该不会差别很大,本人未曾验证,还请各位看官自行解决。
其中 Chrome 浏览器保存历史数据的文件是 History,没有扩展名。但实际上就是 sqlite 的数据库文件;而 Firefox 浏览器对应存放数据的文件是 Places.sqlite,这个文件实际上存放的信息包括历史记录、书签、设置及附加组件,同样也是 sqlite 的数据库文件。
关于 Sqlite
SQL(Structured Query Language:结构化查询语言)是一种特定目的程式语言,用于管理关系数据库管理系统(RDBMS),或在关系流数据管理系统(RDSMS)中进行流处理。[1]
简单来说,就是用于管理数据库的专用的语言。除了以 SQL 语句为代表的数据库工具,同时也有以 NoSql 为代表的非关系型的数据库,例如 MongoDB。其主要特点是不使用 SQL 查询语句。
当然本文仅仅只是着重于一点点 Sqlite3 的使用,因为这对于在本文要做的事情是有帮助的。
通常而言 Linux 系统的发行版往往自带 Sqlite3,只需要在终端输入 sqlite3 并在其后加上数据库文件名作为参数,即可进行此数据库的查询操作了。但在这之前可能还需要一点点准备知识。
首先,SQL 数据库通常是由几张表格组成,每一张表格之间都存在着关系。每一张表格都有表头(Headers),也就是普通 Excel 表格上的标题,也叫字段。通常这代表了一列数据的主要特征。其他次要特征包括:数据类型(Type)、是否是主键(Primary Key)、是否可以为空值(Null)、默认值(Default)、布尔值(BOOLEAN)。
进入数据库文件后,.table 命令可以查看所有的表格。(注意该命令前有一个点)
$ sqlite3 History
SQLite version 3.23.1 2018-04-10 17:39:29
Enter ".help" for usage hints.
sqlite> .table
downloads meta urls