在Python中读取Chrome书签(JSON)文件

在Python中读取Chrome书签(JSON)文件,python,json,google-chrome,Python,Json,Google Chrome,我试图用Python操作Chrome书签文件,但遇到了第一个障碍。我有以下代码: import json import os input_filename = os.getenv("APPDATA") + "\..\Local\Google\Chrome\User Data\Default\history" with open(input_filename) as data_file: bookmark_data = json.load(data_file) 当我运行此代码时,出现

我试图用Python操作Chrome书签文件,但遇到了第一个障碍。我有以下代码:

import json
import os

input_filename = os.getenv("APPDATA") + "\..\Local\Google\Chrome\User Data\Default\history"

with open(input_filename) as data_file:
    bookmark_data = json.load(data_file)
当我运行此代码时,出现以下错误:

Traceback (most recent call last):
File "C:/Users/David/PycharmProjects/MyBookmarks/myBookmarks.py", line 17, in <module>
bookmark_data = json.load(data_file)
File "C:\Python27\lib\json\__init__.py", line 290, in load
**kw)
File "C:\Python27\lib\json\__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "C:\Python27\lib\json\decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\lib\json\decoder.py", line 384, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

Process finished with exit code 1
回溯(最近一次呼叫最后一次):
文件“C:/Users/David/PycharmProjects/MyBookmarks/MyBookmarks.py”,第17行,在
bookmark\u data=json.load(数据文件)
文件“C:\Python27\lib\json\\ uuuuu init\uuuuuu.py”,第290行,正在加载中
**千瓦)
文件“C:\Python27\lib\json\\ uuuuu init\uuuuuu.py”,第338行,加载
返回\u默认\u解码器。解码
文件“C:\Python27\lib\json\decoder.py”,第366行,在decode中
obj,end=self.raw\u decode(s,idx=\u w(s,0.end())
原始解码中的文件“C:\Python27\lib\json\decoder.py”,第384行
raise VALUERROR(“无法解码JSON对象”)
ValueError:无法解码任何JSON对象
进程已完成,退出代码为1
我对JSON不太熟悉,但考虑到这是chrome书签文件,我怀疑这是文件结构的问题,我不知道下一步该怎么做!有什么想法吗

提前感谢。

  • Bookmarks是要打开的
    JSON
    文件的名称
  • 历史记录是一个包含URL访问信息的数据库文件 和下载的文件

您发布的代码显示为
json.load(数据文件)
,但错误消息显示该行为
json.load(数据文件)
。注意额外的“s”。如果从字符串中读取(“加载字符串”),则使用
load
;如果从文件中读取,则使用
load
。我怀疑您的实际代码中有一个额外的“s”。请参阅此帖子。对不起!我不小心在我最初的帖子中出现了错误cose-现在已粘贴到正确的一个。SomeguyonComputer-谢谢,但这个问题与Chrome历史文件有关,它是一个SQLite数据库,我想在这里阅读Chrome书签文件,它是一个JSON文件。好吧-我是个白痴。我的路径指向历史文件,而不是书签文件。愚蠢的复制和粘贴!