热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用Ubuntu中的Python获取浏览器历史记录

使用Ubuntu中的Python获取浏览器历史记录原文:

使用 Ubuntu 中的 Python 获取浏览器历史记录

原文:https://www . geesforgeks . org/get-browser-history-use-python-in-Ubuntu/

为了获取 chrome 和 Mozilla Firefox 浏览器的浏览器历史记录,使用了 os 模块sqlite3 模块。Chrome 和 Firefox 历史数据存储在 SQLite 数据库中。所以需要 SQLite Python 包从浏览器历史中提取数据。

从火狐获取历史

Firefox 浏览器将所有细节存储在。mozilla/firefox 文件夹。历史文件扩展名为. default。要从火狐浏览器获取历史,请按照下面给出的步骤操作。从终端获取存储浏览器历史的默认文件的名称,如下所述

注意:系统中存储历史的文件名不同,但扩展名保持不变(。
默认)示例T5】

计算机编程语言

import os
import sqlite3
# Build Data path
data_path = os.path.expanduser('~')+"/.mozilla/firefox/ri27ye3b.default"
history_db = os.path.join(data_path, 'places.sqlite')
# Make connection with sqlite3 database
c = sqlite3.connect(history_db)
# Create cursor object to execute query
cursor = c.cursor()
select_statement = "select moz_places.url, moz_places.visit_count from moz_places;"
cursor.execute(select_statement)
# Fetch the result and Prints the result
results = cursor.fetchall()
for url, count in results:
     print(url)
# Close the cursor
cursor.close()

注意:当你执行上面给出的 python 代码时,你的浏览器应该是关闭的。当浏览器打开时,它获得了对数据库的锁定,因此不允许访问 python 代码
代码的工作如下所述


  1. 导入 os 模块和 sqlite3 模块。

  2. os.path.expanduser()方法用于扩展初始路径组件~或用户主目录的路径。

  3. os.path.join()方法连接一个或多个路径组件,除最后一个路径组件外,每个非空部分后面都有一个目录分隔符(“/”),以获取最终路径。

  4. sqlite3 的 Connect 方法然后与数据库连接。

  5. 一旦连接成功,它就会创建游标对象来访问表

  6. cursor 对象的 Execute 方法在 sqlite3 数据库上运行查询,并使用 fetchall 方法提取记录并存储在结果中

  7. for 循环打印从数据库中提取的记录

  8. 关闭游标很重要,当它的任务完成时,它会释放 sqlite3 数据库上的所有锁。


从 Chrome 获取历史

Chrome 浏览器将所有细节存储在。配置/谷歌浏览器/默认文件夹。这里的历史是存储浏览器历史的数据库的名称。
要从 chrome 浏览器获取历史记录,请按照下面给出的步骤进行操作
要检查历史数据库的存在,请按照下面图片中给出的步骤进行操作。

T2】

计算机编程语言

import sqlite3
con = sqlite3.connect('/home/admin1/.config/google-chrome/Default/History')
c = con.cursor()
# Change this to your preferred query
c.execute("select url, title, visit_count, last_visit_time from urls")
results = c.fetchall()
for r in results:
    print(r)
c.close()

注意:当你执行上面给出的 Python 代码时,你的浏览器应该是关闭的。当浏览器打开时,它获得了对数据库的锁定,因此不允许访问 Python 代码
代码的工作如下所述


  1. 导入 sqlite3 模块。

  2. sqlite3 的 Connect 方法然后与数据库连接。请注意,路径“home/admin1”因系统的根路径而异

  3. 一旦连接成功,它就会创建游标对象来访问表

  4. cursor 对象的 Execute 方法在 sqlite3 数据库上运行查询,并使用 fetchall 方法提取记录并存储在结果中

  5. for 循环打印从数据库中提取的记录

  6. 当游标的任务完成时,关闭游标是很重要的,因为它会释放 sqlite3 数据库上的所有锁。


推荐阅读
  • 本文详细介绍了如何在 Django 项目中使用 Admin 管理后台,包括创建超级用户、启动项目、管理数据模型和修改用户密码等步骤。 ... [详细]
  • ARM汇编基础基于Keil创建STM32汇编程序的编写
    文章目录一、新建项目(1)工具介绍(2)创建项目:二、配置环境(1)配置芯片&#x ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 深入解析 Lifecycle 的实现原理
    本文将详细介绍 Android Jetpack 中 Lifecycle 组件的实现原理,帮助开发者更好地理解和使用 Lifecycle,避免常见的内存泄漏问题。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 单元测试:使用mocha和should.js搭建nodejs的单元测试
    2019独角兽企业重金招聘Python工程师标准BDD测试利器:mochashould.js众所周知对于任何一个项目来说,做好单元测试都是必不可少 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • Unity3D 中 AsyncOperation 实现异步场景加载及进度显示优化技巧
    在Unity3D中,通过使用`AsyncOperation`可以实现高效的异步场景加载,并结合进度条显示来提升用户体验。本文详细介绍了如何利用`AsyncOperation`进行异步加载,并提供了优化技巧,包括进度条的动态更新和加载过程中的性能优化方法。此外,还探讨了如何处理加载过程中可能出现的异常情况,确保加载过程的稳定性和可靠性。 ... [详细]
author-avatar
希臘神話2502873813
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有