有没有办法使用我的 CLI 从 Google Chrome 导出所有书签?
答案1
Chrome 会将书签存储在您的配置文件目录文件中Bookmarks
的 JSON 格式
答案2
这是 macosx 上的一个有趣的东西:
BOOKMARKS=/Users/$USER/Library/Application\ Support/Google/Chrome/Default/Bookmarks.bak
# method 1
python test.py $BOOKMARKS
# pipe example
# shuffle tty's for pdb to work
cat $BOOKMARKS | python test.py
测试.py:
import json
import fileinput
from io import BytesIO
bookmarks = BytesIO()
for line in fileinput.input():
bookmarks.write(line.encode('utf-8'))
bookmarks.seek(0)
bakmarks = json.loads(bookmarks.read())
import pdb;pdb.set_trace()
答案3
(通过以上答案的提示,我找到了一个通过 shell 快捷方式支持所有主流操作系统的简单解决方案。)
备份 chrome 书签 - 通过命令行
脚步:
vi ~/.bashrc
添加行:
CHROME_BOOKMARK="$HOME/AppData/Local/Google/Chrome/User Data/Default/Bookmarks" alias bmcsync='cp "$CHROME_BOOKMARK" "/d/someRepo/b-1 backup/5-1 bookmark/"'
- 节省
source ~/.bashrc
- 然后可以使用命令
bmcsync
将书签复制到其他地方(bmc 是 chrome 的书签)。
用途:
- Shell 终端,在
Linux
/中Mac
。 - Git bash,用于
Windows
。
恢复 chrome 书签 - 从Bookmarks
文件
脚步:
- 关闭镀铬。
- 将
Bookmarks
文件复制回原始位置,并替换当前文件。 - 启动 chrome。
- 再次检查书签。
尖端:
- 当你复制并替换
Bookmarks
文件时,它将替换,不是合并。
所以,要小心。 - 还有一个
Bookmarks.bak
文件,在这种情况下似乎在备份和恢复中没有用,所以就忽略它。
答案4
问题是how to export bookmarks from [shell]
,我假设是 mac osx,但我们可以轻松扩展到任何 posix'ish shell。OP 没有询问如何在 python 中执行此操作,或者在.bashrc
每次启动新 shell 时修改交互式 shell 环境,以进行不时执行且(应该)永远不手动执行的恢复过程。
“备份”和“恢复”是描述将文件复制到路径和从路径复制文件的相当复杂的方式。
查看书签路径并获取当前校验和
$ echo $path
/Users/christian/Library/Application Support/Google/Chrome
$ ls -lh "$path/Default/Bookmarks"
-rw------- 1 christian staff 27K Aug 8 10:01 '/Users/christian/Library/Application Support/Google/Chrome/Default/Bookmarks'
$ <"$path/Default/Bookmarks" jq -r .checksum
e9778031e907cf8d2d196be3319ac24d
“备份”书签和健全性检查操作
~ $ <"$path/Default/Bookmarks" jq -re .checksum | xargs -rI% -- cp -v "$path/Default/Bookmarks" /tmp/bookmarks/%.json
'/Users/christian/Library/Application Support/Google/Chrome/Default/Bookmarks' -> '/tmp/bookmarks/e9778031e907cf8d2d196be3319ac24d.json'
~ $ </tmp/bookmarks/e9778031e907cf8d2d196be3319ac24d.json jq .checksum
"e9778031e907cf8d2d196be3319ac24d"
“恢复”书签
~ $ cp -v /tmp/bookmarks/e9778031e907cf8d2d196be3319ac24d.json "$path/Default/Bookmarks"
'/tmp/bookmarks/e9778031e907cf8d2d196be3319ac24d.json' -> '/Users/christian/Library/Application Support/Google/Chrome/Default/Bookmarks'
~ $ <"$path/Default/Bookmarks" jq .checksum
"e9778031e907cf8d2d196be3319ac24d"
``