热门标签 | 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 数据库上的所有锁。


推荐阅读
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Oracle10g备份导入的方法及注意事项
    本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • 我们有(据我所知)星型模式SQL数据库中的数据文件。该数据库有5个不同的文件,扩展名为 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了自动化测试专家Elfriede Dustin在2008年的文章中讨论了自动化测试项目失败的原因。同时,引用了IDT在2007年进行的一次软件自动化测试的研究调查结果,调查显示很多公司认为自动化测试很有用,但很少有公司成功实施。调查结果表明,缺乏资源是导致自动化测试失败的主要原因,其中37%的人认为缺乏时间。 ... [详细]
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社区 版权所有