首页 > 解决方案 > 是否有一个 Python 函数,我们可以在关闭浏览器时审核在“.txt”文件中打开的所有网站?

问题描述

我正在尝试在使用 Python 关闭浏览器时将我在文本文件中打开的所有网站记录下来。是否有任何 python 方法可以从浏览器获取 URL?我正在使用“webbrowser”包。

标签: pythonpython-3.xwebbrowser-control

解决方案


我尝试编写一个基本程序,该程序可以仅使用os and sqlite3库访问 Windows 10 上 Chrome 的浏览器历史记录。其他浏览器和操作系统应该没有太大区别。

这是代码:

import os
import sqlite3

def parse(url):
    try:

        parsed_url_components = url[0].split('//')

        sublevel_split = parsed_url_components[1].split('/', 1)
        domain = sublevel_split[0].replace("www.", "")
        # You can write the visited URL to a text file
        print(domain)
    except IndexError:
        print("URL format error!")

data_path = os.path.expanduser('~') + "/AppData/Local/Google/Chrome/User Data/Default"
files = os.listdir(data_path)
history_db = os.path.join(data_path, 'history')

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()
for result in results:
    parse(result)

您可以选择避免进行子级别拆分或 www 替换。

PS:浏览器一定不能运行,否则将无法访问sqlite db(错误sqlite3.OperationalError: database is locked:)

希望能帮助到你!


推荐阅读