我正在尝试从 .ldb 文件中提取数据。Chrome 扩展 OneTab 出现故障,我正在尝试恢复它保存的链接。我相信我已经从一篇旧的博客文章中找到了解决方案,但我对编码了解不够,无法弄清楚如何遵循。
以下是博客文章的链接: https://antimatter15.com/2015/12/recovering-deleted-data-from-leveldb/
我相信我已经按照他的建议正确完成了构建 Go 应用程序的所有操作。它创建了一个名为“ldbdump”的文件,没有文件扩展名。下一步是我遇到麻烦的地方。我尝试在 Jupyter Notebook 中运行他的 Python 代码(这是我唯一使用过 Python 的软件,而且经验有限),但只会出现错误。
我正在使用的原始代码可以在上面的“恢复”标题下的链接中找到。我将“base”的定义从“test-stuff copy”更改为指向包含我尝试读取的 .ldb 文件以及“ldbdump”文件的文件夹。出现错误后,我还更改了底部打印命令的语法。其他一切都被搁置了。
base = "D:\\Downloads\\ldb archive"
import os
from subprocess import Popen, PIPE
import json
import ast
for f in os.listdir(base):
if f.endswith(".ldb"):
process = Popen(["ldbdump", os.path.join(base, f)], stdout=PIPE)
(output, err) = process.communicate()
exit_code = process.wait()
for line in (output.split("\n")[1:]):
if line.strip() == "": continue
parsed = ast.literal_eval("{" + line + "}")
key = parsed.keys()[0]
print(json.dumps({ "key": key.encode('string-escape'), "value": parsed[key] …Run Code Online (Sandbox Code Playgroud)