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

Getting data inside a google Chrome IndexedDB from Bash or Python

我的 Google Chrome 中有 LevelDB (IndexedDB) 文件,该文件位于此文件夹中:

/home/<user>/.config/google-chrome/Default/IndexedDB/https_<site>_0.indexeddb.leveldb/

文件夹内容为:

$ ls
000005.ldb  000006.log  CURRENT  LOCK  LOG  MANIFEST-000001

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

#!/bin/python
import leveldb
db = leveldb.LevelDB('./000005.ldb')

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

leveldb.LevelDBError: IO error: ./000005.ldb/LOCK: Not a directory

有人知道如何正确访问存储在我的 IndexDB 文件中的数据吗?基本上,我只需要从 'Developers Tool' 视图中获取相同的信息,但使用 Bash 或 Python.

您必须使用此 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)) 

你可以使用这个:

db = leveldb.LevelDB('./Here must be a folder containing all of the levelDB database files')