使用Python解析Chrome瀏覽器書簽的示例
Chrome 瀏覽器的書簽如果可以導(dǎo)出,并轉(zhuǎn)換為我們需要的格式時(shí),我們就可以編寫各種插件來配合書簽的使用。
答案顯然是可以的,接下來我們以 Python 為例寫一個(gè)遍歷打印書簽的例子
書簽地址
先來說下獲取書簽的方法
Chrome 瀏覽器的書簽存放位置在各個(gè)平臺(tái)的區(qū)別
Mac~/Library/Application Support/Google/Chrome/Default/Bookmarks Linux
~/.config/google-chrome/Default/Bookmarks Windows
%LOCALAPPDATA%'GoogleChromeUser DataDefaultBookmarks'
書簽結(jié)構(gòu)
書簽內(nèi)容為 JSON 格式,結(jié)構(gòu)如下
{ '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':'移動(dòng)設(shè)備書簽', 'type':'folder' } }, 'sync_metadata':'', 'version':1}
清晰了這個(gè)結(jié)構(gòu)在寫代碼就很簡(jiǎn)單了,以書簽欄為例,只需要將 data[’roots’][’bookmark_bar’][’children’] 進(jìn)行循環(huán)遍歷即可,代碼詳情可見 demo
完整demo
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author: wxnacy(wxnacy@gmail.com)# Description: 打印不換行進(jìn)度條# 預(yù)覽 https://raw.githubusercontent.com/wxnacy/image/master/blog/python_progress.gifimport timedef get_progress(progress, total): ’’’獲取進(jìn)度條’’’ 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_textdef print_progress(total): ’’’模擬打印進(jìn)度條’’’ 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瀏覽器書簽的示例的詳細(xì)內(nèi)容,更多關(guān)于Python解析Chrome瀏覽器書簽的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 存儲(chǔ)于xml中需要的HTML轉(zhuǎn)義代碼2. python 浮點(diǎn)數(shù)四舍五入需要注意的地方3. Java GZip 基于內(nèi)存實(shí)現(xiàn)壓縮和解壓的方法4. python開發(fā)一款翻譯工具5. 利用CSS制作3D動(dòng)畫6. jsp+servlet簡(jiǎn)單實(shí)現(xiàn)上傳文件功能(保存目錄改進(jìn))7. Springboot 全局日期格式化處理的實(shí)現(xiàn)8. 完美解決vue 中多個(gè)echarts圖表自適應(yīng)的問題9. SpringBoot+TestNG單元測(cè)試的實(shí)現(xiàn)10. PHP實(shí)現(xiàn)簡(jiǎn)單線性回歸之?dāng)?shù)學(xué)庫(kù)的重要性
