使用Python获取Chrome浏览器历史记录

摘要:近来突发奇想,想知道自己在谷歌浏览器中的访问记录,于是写了个Python小程序来获取。

源代码参考自一位外国小哥的文章,稍作改动!

代码参考如下:

#统计谷歌浏览器访问历史记录
#time@2017-08-30
#author@yooongchun

import os  
import sqlite3  
import operator  
from collections import OrderedDict  
import matplotlib.pyplot as plt  

def parse(url):  
    try:  
        parsed_url_components = url.split('//')  
        sublevel_split = parsed_url_components[1].split('/', 1)  
        domain =sublevel_split[0].replace("www.", "")  
        return domain
    except IndexError:  
        print('URL format error!') 

def analyze(results):  
    prompt =input("[.] Type <c> to print or <p> to plot\n[>] ")

    if prompt == "c":
        with open('./history.txt','w') as f:
            for site, count in sites_count_sorted.items():
                f.write(site+'\t'+str(count)+'\n')
    elif prompt == "p":
        key=[]
        value=[]
        for k,v in results.items():
            key.append(k)
            value.append(v)
        n=25
        X=range(n)
        Y=value[:n]
        plt.bar(X,Y,align='edge')
        plt.xticks(rotation=45)  
        plt.xticks(X,key[:n])
        for x,y in zip(X,Y):
            plt.text(x+0.4, y+0.05,y, ha='center', va= 'bottom')
        plt.show()
    else:  
        print("[.] Uh?")  
        quit()  

if __name__=='__main__':
    #path to user's history database (Chrome)  
    data_path=r'C:\Users\CNYOZHA22\AppData\Local\Google\Chrome\User Data\Default'
    files=os.listdir(data_path)

    history_db = os.path.join(data_path, 'history')  

    #querying the db  
    c = sqlite3.connect(history_db)  
    cursor = c.cursor()  
    select_statement = "SELECT urls.url, urls.visit_count FROM urls, visits WHERE urls.id = visits.url;"  
    cursor.execute(select_statement)  

    results = cursor.fetchall() #tuple  

    sites_count = {} #dict makes iterations easier :D  

    for url, count in results:  
        url = parse(url)  
        if url in sites_count:  
            sites_count[url] += 1  
        else:  
            sites_count[url] = 1  

    sites_count_sorted = OrderedDict(sorted(sites_count.items(), key=operator.itemgetter(1), reverse=True))  

    analyze (sites_count_sorted)  
ChromeDriver 是一个用于控制 Google Chrome 浏览器的自动化工具,它允许自动化脚本与 Chrome 网页浏览器进行交互并获取数据。为了确保最佳的兼容性和稳定性,建议使用与你的 Chrome 浏览器版本相匹配的 ChromeDriver 版本。 ### 如何找到合适的 ChromeDriver 版本: 1. **访问官方下载页面**:首先访问 ChromeDriver 的官方 GitHub 页面([https://github.com/chromedriver/chromedriver/releases](https://github.com/chromedriver/chromedriver/releases)),这里会提供最新的发布信息以及各个版本的历史记录。 2. **选择对应版本**:在页面顶部,你可以看到一个下拉菜单,其中列出了当前可用的所有 ChromeDriver 版本。你需要选择一个与你正在使用的 Chrome 浏览器版本对应的 ChromeDriver 版本。 3. **下载并安装**:从列表中选取相应的版本后,点击对应的链接即可下载适合你系统的 .exe 或者 .jar 文件。根据你的操作系统选择相应的文件进行下载,并按照提示完成安装过程。 4. **验证是否正确设置**:安装完成后,确保将 Chromedriver 添加到系统路径中。然后在 Python 脚本或者其他支持的测试框架中使用 chromedriver 的路径,例如 `webdriver.Chrome('path_to_chromedriver')`,以确认是否能够正常启动 Chrome 浏览器并进行自动化操作。 ### 需要注意的问题: - **版本一致性**:尽量保证浏览器、ChromeDriver 和测试环境(如 Python 库如 Selenium)之间的版本一致,避免因版本不匹配导致的功能异常或无法识别元素等问题。 - **更新管理**:定期检查和更新 ChromeDriver 到最新版本,以获得对新功能的支持和修复已知的 bug。 通过上述步骤,可以有效地配置好 ChromeDriver 来匹配你的 Chrome 浏览器版本,确保自动化测试的顺利进行。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zoz.cool

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值