如何用Python脚本提取Chrome浏览器书签内容示例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计636个文字,预计阅读时间需要3分钟。
使用Chrome浏览器的书签功能,可以导出书签并转换为所需格式。此时,我们可以编写Python脚本来遍历并打印这些书签。以下是一个简单的Python示例,用于遍历打印书签:
pythonimport xml.etree.ElementTree as ET
假设书签文件已保存为XML格式bookmarks_file='bookmarks.xml'
解析书签文件tree=ET.parse(bookmarks_file)root=tree.getroot()
遍历书签并打印def print_bookmarks(element): for child in element: if child.tag=='title': print(child.text) elif child.tag=='url': print(child.text)
print_bookmarks(root)
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":"localhost:4000/" }, { "children":[ { "date_added":"13246172853099058", "guid":"83431411-157f-45f8-a9a4-d9af26c71bce", "id":"1944", "name":"blog local 温欣爸比的博客", "type":"url", "url":"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: 打印不换行进度条 # 预览 img.558idc.com/uploadfile/allimg/python/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浏览器书签的资料请关注易盾网络其它相关文章!
本文共计636个文字,预计阅读时间需要3分钟。
使用Chrome浏览器的书签功能,可以导出书签并转换为所需格式。此时,我们可以编写Python脚本来遍历并打印这些书签。以下是一个简单的Python示例,用于遍历打印书签:
pythonimport xml.etree.ElementTree as ET
假设书签文件已保存为XML格式bookmarks_file='bookmarks.xml'
解析书签文件tree=ET.parse(bookmarks_file)root=tree.getroot()
遍历书签并打印def print_bookmarks(element): for child in element: if child.tag=='title': print(child.text) elif child.tag=='url': print(child.text)
print_bookmarks(root)
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":"localhost:4000/" }, { "children":[ { "date_added":"13246172853099058", "guid":"83431411-157f-45f8-a9a4-d9af26c71bce", "id":"1944", "name":"blog local 温欣爸比的博客", "type":"url", "url":"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: 打印不换行进度条 # 预览 img.558idc.com/uploadfile/allimg/python/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浏览器书签的资料请关注易盾网络其它相关文章!

