Python命令行工具编辑Firefox书签?

1 投票
2 回答
3144 浏览
提问于 2025-04-15 17:50

有没有人做过一个Python命令行工具来编辑Firefox的书签?我想的方式是Unix文件树的那种;我想要:

  • 在给定的或者所有子目录中查找/re/
  • 切换目录
  • 带上下文的列出文件
  • 移动这个文件到../那里/

使用bookmarks.html还是places.sqlite并不重要,哪个更简单就用哪个。
补充说明:我很乐意退出Firefox,在命令行中编辑书签,然后把新的数据库导入到Firefox里。换句话说,数据库锁定的问题不重要;首先我们先看看一个粗略的命令行工具的代码。

(为什么要用文本命令行而不是图形界面?对我来说,命令行更简单,而且可以很容易地编程,比如说:mv old-bookmarks to 2009/same-structure/。不过,如果有很好的书签管理图形界面的链接,无论是Firefox还是其他的,也会很有用。)

2 个回答

0

我不太清楚你提到的所有功能,但在书签菜单里有个“整理书签”的选项,这个功能还是挺不错的。

3

假设我们说的是Firefox 3或更高版本,书签会保存在一个叫做SQLite的文件里,这个文件名为places.sqlite,它位于个人资料文件夹中。所以你需要一个方法来找到这个个人资料文件夹(具体取决于你使用的操作系统),然后就可以加载这个SQLite文件了。

这个文件的结构比较丰富,也有点复杂,但文档写得很清楚。而且,使用Python的SQLite支持,你可以进行互动式的探索。

当然,当Firefox在运行的时候,这个数据库是被锁住的。如果你只是想查看数据,可以把places.sqlite复制到一个临时文件中,然后打开这个临时文件进行查看;不过如果你想进行修改,那么最好是让用户先退出Firefox(如果这样不太合适,你可以看看Firefox是否提供了其他方式来请求它的配合)。

这就是你想要的内容吗……?

撰写回答