谷歌浏览器的默认网页浏览历史搜索引擎只允许您访问最近 100 天的记录。然而,Chrome 会在您的应用程序数据中保留您的全部的浏览历史记录存储在SQLite数据库文件中,文件命名方案为“历史记录索引YYYY-MM”。
我正在寻找一种方法寻找…
- …通过我的整个浏览历史记录,
- …和复杂的过滤器(将搜索词限制在某些字段,例如 URL、域、标题、正文;通配符或正则表达式词、日期范围)。
… 在 …
- …要么一些现成的软件。
- 电子历史接近,因为它可以将术语限制到字段,但它缺少通配符/正则表达式,并且具有与默认搜索相同的有限时间范围。
- 除此之外,我找不到任何适合的 Chrome 扩展程序或独立(Mac)应用程序。
…或者命令行将多个 SQLite 数据库文件合并为一个数据库,然后我就可以查询该数据库(使用完整的语法功能)。本着以下伪代码的精神:
首选这种方式:
sqlite --targetDatabase ChromeHistoryAll --importFiles /path/to/ChromeAppData/History\ Index* --importOnlyYetUnknownFiles
或者,如果我想要的功能 --importOnlyYetUnknownFiles 不可行(该功能也可以称为“通过检查 UID 避免重复导入”),那么通过明确导入我所知道的文件,它们尚未导入到 ChromeHistoryAll 数据库中:
cd ChromeAppData; sqlite --databaseTarget ChromeHistoryAll --importFiles YetNotImported1 YetNotImported2 YetNotImported3
然后我将在数据库“ChromeHistoryAll”中执行所有查询
PS:大家感兴趣的附加问题:有没有办法在从多个文件动态创建的临时数据库中执行数据库查询?
喜欢:sqlite --query="SQL query" --targetDatabase DbAll --DBtemporaryInRAM --importFiles db1 db2 db3
这肯定不适用于我的 Chrome 问题,因为这些历史索引文件的总文件大小为 500MB,因此这样的查询性能很差。但它在其他情况下可能会派上用场。