从 Bash 或 Python 获取谷歌 Chrome IndexedDB 中的数据

cca*_*cho 4 python bash google-chrome indexeddb leveldb

我有来自 Google Chrome 的 LevelDB (IndexedDB) 文件,该文件位于以下文件夹中:

/home/<user>/.config/google-chrome/Default/IndexedDB/https_<site>_0.indexeddb.leveldb/
Run Code Online (Sandbox Code Playgroud)

文件夹内容为:

$ ls
000005.ldb  000006.log  CURRENT  LOCK  LOG  MANIFEST-000001
Run Code Online (Sandbox Code Playgroud)

我有一个非常简单的 python 脚本来打开它:

#!/bin/python
import leveldb
db = leveldb.LevelDB('./000005.ldb')
Run Code Online (Sandbox Code Playgroud)

现在我总是收到这个错误:

leveldb.LevelDBError: IO error: ./000005.ldb/LOCK: Not a directory
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何正确访问存储在我的 IndexDB 文件中的数据?基本上,我只需要从“开发人员工具”视图中获取相同的信息,但使用 Bash 或 Python。

Ant*_*kov 6

您必须使用此 API 打开目录,而不是文件。另外值得注意的是,使用plyvel库可能更好:

import plyvel
db = plyvel.DB('/home/<user>/.config/google-chrome/Default/IndexedDB/https_<site>_0.indexeddb.leveldb')
for key, value in db:
    print("{0} : {1}".format(key, value)) 
Run Code Online (Sandbox Code Playgroud)