python - 是否有一个 Python 函数,我们可以在关闭浏览器时审核在“.txt”文件中打开的所有网站?
问题描述
我正在尝试在使用 Python 关闭浏览器时将我在文本文件中打开的所有网站记录下来。是否有任何 python 方法可以从浏览器获取 URL?我正在使用“webbrowser”包。
解决方案
我尝试编写一个基本程序,该程序可以仅使用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
:)
希望能帮助到你!
推荐阅读
- php - 使用静态函数为表单的选择选项定义数组
- single-page-application - 与身份服务器中的 cookie 和令牌共享身份验证
- audit.net - Audit.NET.MVC 未登录异常
- ios - 使用 Firebase 启动时适用于 iOS 的 Flutter 应用程序崩溃
- c++ - 包括来自文件系统
- android - 如何以编程方式更改 Android 中材质组件文本按钮的样式?
- vue.js - Vuejs axios 禁用向控制台打印 401 错误
- python - 来自 url 的 Python ftech 标题和 pdf 链接
- python - Arduino加速度计到Python输出
- java - Android 10 上的 createTempFile() 权限被拒绝