如何将无法启动的Windows系统中Chrome的JSON格式书签导入至Ubuntu系统的Firefox?
如何将无法启动的Windows系统中Chrome的JSON格式书签导入至Ubuntu系统的Firefox?
嘿,我完全懂你的痛点——不想为了导个书签就特意装个Chrome,太折腾了!其实咱们不用绕远路,直接把Chrome那个JSON格式的书签转成Firefox认的HTML文件就行,我给你说俩靠谱的本地方法,绝对简单:
方法一:用Python脚本本地转换(最安全,不用上传隐私数据)
Ubuntu默认自带Python,咱们写个小脚本就能搞定转换:
- 第一步:先把你从Windows磁盘里找到的Chrome书签文件(就是那个没有后缀、名叫
Bookmarks的文件)复制到Ubuntu的桌面或者你好找的文件夹里,方便操作。 - 第二步:打开Ubuntu自带的文本编辑器(比如Gedit),把下面的代码复制进去,然后保存成
convert_bookmarks.py:import json def process_node(node, html_content): # 处理书签文件夹 if node['type'] == 'folder': html_content.append(f'<DT><H3>{node["name"]}</H3>') html_content.append('<DL><p>') # 递归处理文件夹里的子项 for child in node['children']: process_node(child, html_content) html_content.append('</DL><p>') # 处理单个书签 elif node['type'] == 'url': html_content.append(f'<DT><A HREF="{node["url"]}">{node["name"]}</A>') def convert_to_html(json_file_path, output_html_path): # 读取Chrome的JSON书签文件 with open(json_file_path, 'r', encoding='utf-8') as file: bookmarks_data = json.load(file) # 初始化HTML结构(符合Netscape书签格式,Firefox能识别) html = [ '<!DOCTYPE NETSCAPE-Bookmark-file-1>', '<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">', '<TITLE>Chrome Bookmarks</TITLE>', '<DL><p>' ] # 处理书签栏、其他书签、同步书签这几个分类 root_nodes = bookmarks_data['roots'] for node_name in ['bookmark_bar', 'other', 'synced']: if node_name in root_nodes: process_node(root_nodes[node_name], html) html.append('</DL><p>') # 生成HTML文件 with open(output_html_path, 'w', encoding='utf-8') as file: file.write('\n'.join(html)) # 这里替换成你的实际路径!比如桌面的Bookmarks文件,生成到桌面的bookmarks.html convert_to_html('/home/你的用户名/Desktop/Bookmarks', '/home/你的用户名/Desktop/bookmarks.html') - 第三步:修改脚本里的路径,把
/home/你的用户名/Desktop/Bookmarks改成你刚才复制的Bookmarks文件的实际路径,输出路径也改成你想要存HTML文件的地方(比如桌面)。 - 第四步:打开终端,运行命令
python3 convert_bookmarks.py,回车后就会在你指定的位置生成bookmarks.html文件了。 - 第五步:打开Firefox,点击右上角的三条杠菜单 → 书签 → 管理书签 → 左上角的「导入和备份」按钮 → 选择「导入书签从HTML文件」,然后选中刚才生成的
bookmarks.html,搞定!
方法二:手动提取(适合不想碰代码的,不过有点繁琐)
如果你实在不想写脚本,也可以手动把JSON里的书签提取出来,自己写个简单的HTML:
- 打开那个Bookmarks文件,你会看到里面的结构,每个书签都有
"type": "url",对应的"name"是书签名称,"url"是链接地址。 - 新建一个文本文件,开头先写这几行固定格式:
<!DOCTYPE NETSCAPE-Bookmark-file-1> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"> <TITLE>My Bookmarks</TITLE> <DL><p> - 然后把每个书签写成
<DT><A HREF="链接地址">书签名称</A>的格式,文件夹的话就用<DT><H3>文件夹名</H3><DL><p>开头,结尾用</DL><p>闭合。 - 最后加一行
</DL><p>,保存成.html格式,再用Firefox导入就行。不过这个方法适合书签不多的情况,书签多的话还是脚本更高效。
对了,你之前尝试把Bookmarks文件放到Linux Chrome的路径里没用,因为Firefox的自动导入是检测Chrome的完整安装配置,光放个数据文件是骗不过它的,还是转成HTML最直接靠谱。
备注:内容来源于stack exchange,提问作者Mark Ransom




