Chrome 浏览器的书签如果可以导出,并转换为我们需要的格式时,我们就可以编写各种插件来配合书签的使用。
答案显然是可以的,接下来我们以 Python 为例写一个遍历打印书签的例子
书签地址
先来说下获取书签的方法
Chrome 浏览器的书签存放位置在各个平台的区别
Mac
~/Library/Application Support/Google/Chrome/Default/Bookmarks
Linux
~/.config/google-chrome/Default/Bookmarks
Windows
%LOCALAPPDATA%\"\\Google\\Chrome\\User Data\\Default\\Bookmarks\"
书签结构
书签内容为 JSON 格式,结构如下
{ \"checksum\":\"b196f618a9166d56dc6c98cfe9a98d45\", \"roots\":{ \"bookmark_bar\":{ \"children\":[ { \"date_added\":\"13246172853099058\", \"guid\":\"83431411-157f-45f8-a9a4-d9af26c71bce\", \"id\":\"1944\", \"name\":\"blog local 温欣爸比的博客\", \"type\":\"url\", \"url\":\"http://localhost:4000/\" }, { \"children\":[ { \"date_added\":\"13246172853099058\", \"guid\":\"83431411-157f-45f8-a9a4-d9af26c71bce\", \"id\":\"1944\", \"name\":\"blog local 温欣爸比的博客\", \"type\":\"url\", \"url\":\"http://localhost:4000/\" } ], \"date_added\":\"13246172844427649\", \"date_modified\":\"13246172865895702\", \"guid\":\"6aa4ecce-a220-4689-9239-7df10965748b\", \"id\":\"1943\", \"name\":\"Blog\", \"type\":\"folder\" } ], \"date_added\":\"13242060909278534\", \"date_modified\":\"13246172853099058\", \"guid\":\"00000000-0000-4000-a000-000000000002\", \"id\":\"1\", \"name\":\"书签栏\", \"type\":\"folder\" }, \"other\":{ \"children\":[ ], \"date_added\":\"13242060909278616\", \"date_modified\":\"0\", \"guid\":\"00000000-0000-4000-a000-000000000003\", \"id\":\"2\", \"name\":\"其他书签\", \"type\":\"folder\" }, \"synced\":{ \"children\":[ ], \"date_added\":\"13242060909278621\", \"date_modified\":\"0\", \"guid\":\"00000000-0000-4000-a000-000000000004\", \"id\":\"3\", \"name\":\"移动设备书签\", \"type\":\"folder\" } }, \"sync_metadata\":\"\", \"version\":1 }
清晰了这个结构在写代码就很简单了,以书签栏为例,只需要将 data[\’roots\’][\’bookmark_bar\’][\’children\’] 进行循环遍历即可,代码详情可见 demo
完整demo
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: wxnacy(wxnacy@gmail.com) # Description: 打印不换行进度条 # 预览 https://raw.githubusercontent.com/wxnacy/image/master/blog/python_progress.gif import time def get_progress(progress, total): \'\'\'获取进度条\'\'\' progress_ratio = progress / total progress_len = 20 progress_num = int(progress_ratio * 20) pro_text = \'[{:-<20s}] {:.2f}% {} / {}\'.format( \'=\' * progress_num, progress_ratio * 100, progress, total) return pro_text def print_progress(total): \'\'\'模拟打印进度条\'\'\' progress = 0 step = 30 while progress < total: time.sleep(1) b = progress e = b + step progress += step end = \'\\r\' if progress >= total: end = \'\\n\' progress = total print(get_progress(progress, total), end = end) if __name__ == \"__main__\": print_progress(100)
以上就是使用Python解析Chrome浏览器书签的示例的详细内容,更多关于Python解析Chrome浏览器书签的资料请关注免费资源网其它相关文章!
© 版权声明
THE END
暂无评论内容