首頁 > 軟體

python解析Chrome瀏覽器歷史瀏覽記錄和收藏夾資料

2022-02-09 19:01:33

前言

常使用chrome瀏覽器作為自己的預設瀏覽器,也喜歡使用瀏覽器來收藏自己的喜歡的有用的連結,自己也做了一個記錄筆記的小指令碼,想擴充套件收錄chrome瀏覽器收藏夾的內容,,下面,,使用python提取chrome瀏覽器的歷史記錄,以及收藏夾。

(一)查詢chrome資料快取地址

1.開啟 chrome瀏覽器,輸入 chrome://version,進入瀏覽器版本資訊頁面 2.複製頁面下圖,劃線地址

(二)提取收藏夾資料

1.檔案路徑

上面我的chrome瀏覽器的快取路徑是:
C:UsersAdministratorAppDataLocalGoogleChromeUser DataDefault
瀏覽器的收藏夾的資料,記錄在Bookmarks檔案裡面
Bookmark檔案的內容格式是json

2.解析程式碼

解析程式碼為

import os
import json
#chrome data path
path = "C:/Users/Administrator/AppData/Local/Google/Chrome/User Data/Default"
#chrome browser bookmark
class BookMark:
    
    def __init__(self,chromePath=path):
        #chromepath
        self.chromePath = chromePath
        #parse bookmarks
        with open(os.path.join(path,'Bookmarks'),encoding='utf-8') as f:
            bookmarks = json.loads(f.read())
        self.bookmarks = bookmarks
        #folders
        self.folders = self.get_folders()
        
    def get_folders(self):
        #folders
        names = [
            (i,self.bookmarks['roots'][i]['name']) 
            for i in self.bookmarks['roots']
                 ]
        return names
    
    def get_folder_data(self,folder=0):
        return self.bookmarks['roots'][self.folders[folder][0]]['children']
        
    def set_chrome_path(self,chromePath):
        self.chromePath = chromePath
        
    def refresh(self):
        'update chrome data from chrome path'
        #parse bookmarks
        with open(os.path.join(path,'Bookmarks'),encoding='utf-8') as f:
            bookmarks = json.loads(f.read())
        self.bookmarks = bookmarks

(三)檢視瀏覽歷史資料

1.檔案路徑

歷史資料,儲存在下面的History檔案裡面,內容格式是sqlite的資料庫檔案,可以直接使用sqlite3來解析,當然也可以使用DB Browser for SQLite來圖形化介面顯示History sqlite資料檔案。

2.解析程式碼

import os
import sqlite3

#chrome data path
path = "C:/Users/Administrator/AppData/Local/Google/Chrome/User Data/Default"

#History
class History:
    def __init__(self,chromePath=path):
        self.chromePath = chromePath
        
    def connect(self):
        self.conn = sqlite3.connect(os.path.join(self.chromePath,"History"))
        self.cousor = self.conn.cursor()
        
    def close(self):
        self.conn.close()
        
    def get_history(self):
        cursor = self.conn.execute("SELECT id,url,title,visit_count  from urls")
        rows = []
        for _id,url,title,visit_count in cursor:
            row = {}
            row['id'] = _id
            row['url'] = url
            row['title'] = title
            row['visit_count'] = visit_count
            rows.append(row)
        return rows

(四)完整程式碼&測試程式碼

import os
import sqlite3

#chrome data path
path = "C:/Users/Administrator/AppData/Local/Google/Chrome/User Data/Default"

#History
class History:
    def __init__(self,chromePath=path):
        self.chromePath = chromePath
        
    def connect(self):
        self.conn = sqlite3.connect(os.path.join(self.chromePath,"History"))
        self.cousor = self.conn.cursor()
        
    def close(self):
        self.conn.close()
        
    def get_history(self):
        cursor = self.conn.execute("SELECT id,url,title,visit_count  from urls")
        rows = []
        for _id,url,title,visit_count in cursor:
            row = {}
            row['id'] = _id
            row['url'] = url
            row['title'] = title
            row['visit_count'] = visit_count
            rows.append(row)
        return rows

總結

到此這篇關於python解析Chrome瀏覽器歷史瀏覽記錄和收藏夾資料的文章就介紹到這了,更多相關python解析Chrome瀏覽器內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com