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

python教程分享python解析Chrome浏览器历史浏览记录和收藏夹数据

目录前言(一)查询chrome数据缓存地址(二)提取收藏夹数据1.文件路径2.解析代码(三)查看浏览历史数据1.文件路径2.解析代码(四)完整代码&测试代码总结前言常使用c
目录
  • 前言
  • (一)查询chrome数据缓存地址
  • (二)提取收藏夹数据
    • 1.文件路径
    • 2.解析代码
  • (三)查看浏览历史数据
    • 1.文件路径
    • 2.解析代码
  • (四)完整代码&测试代码
    • 总结

      前言

      常使用chrome浏览器作为自己的默认浏览器,也喜欢使用浏览器来收藏自己的喜欢的有用的链接,自己也做了一个记录笔记的小脚本,想扩展收录chrome浏览器收藏夹的内容,,下面,,使用python提取chrome浏览器的历史记录,以及收藏夹。

      (一)查询chrome数据缓存地址

      1.打开 chrome浏览器,输入 chrome://version,进入浏览器版本信息页面 2.复制页面下图,划线地址

      python解析Chrome浏览器历史浏览记录和收藏夹数据

      (二)提取收藏夹数据

      1.文件路径

      上面我的chrome浏览器的缓存路径是:
      c:usersadministratorappdatalocalgooglechromeuser datadefault
      浏览器的收藏夹的数据,记录在bookmarks文件里面
      bookmark文件的内容格式是json

      python解析Chrome浏览器历史浏览记录和收藏夹数据

      2.解析代码

      解析代码为

      import os  import json  #chrome data path  path = "c:/users/administrator/appdata/local/google/chrome/user data/default"  #chrome browser bookmark  class bookmark:            def __init__(self,chromepath=path):          #chromepath          self.chromepath = chromepath          #parse bookmarks          with open(os.path.join(path,'bookmarks'),encoding='utf-8') as f:              bookmarks = json.loads(f.read())          self.bookmarks = bookmarks          #folders          self.folders = self.get_folders()                def get_folders(self):          #folders          names = [              (i,self.bookmarks['roots'][i]['name'])               for i in self.bookmarks['roots']                   ]          return names            def get_folder_data(self,folder=0):          return self.bookmarks['roots'][self.folders[folder][0]]['children']                def set_chrome_path(self,chromepath):          self.chromepath = chromepath                def refresh(self):          'update chrome data from chrome path'          #parse bookmarks          with open(os.path.join(path,'bookmarks'),encoding='utf-8') as f:              bookmarks = json.loads(f.read())          self.bookmarks = bookmarks  

      (三)查看浏览历史数据

      1.文件路径

      历史数据,存储在下面的history文件里面,内容格式是sqlite的数据库文件,可以直接使用sqlite3来解析,当然也可以使用db browser for sqlite来图形化界面显示history sqlite数据文件。

      python解析Chrome浏览器历史浏览记录和收藏夹数据

      2.解析代码

      import os  import sqlite3    #chrome data path  path = "c:/users/administrator/appdata/local/google/chrome/user data/default"    #history  class history:      def __init__(self,chromepath=path):          self.chromepath = chromepath                def connect(self):          self.cOnn= sqlite3.connect(os.path.join(self.chromepath,"history"))          self.cousor = self.conn.cursor()                def close(self):          self.conn.close()                def get_history(self):          cursor = self.conn.execute("select id,url,title,visit_count  from urls")          rows = []          for _id,url,title,visit_count in cursor:              row = {}              row['id'] = _id              row['url'] = url              row['title'] = title              row['visit_count'] = visit_count              rows.append(row)          return rows  

      (四)完整代码&测试代码

      import os  import sqlite3    #chrome data path  path = "c:/users/administrator/appdata/local/google/chrome/user data/default"    #history  class history:      def __init__(self,chromepath=path):          self.chromepath = chromepath                def connect(self):          self.cOnn= sqlite3.connect(os.path.join(self.chromepath,"history"))          self.cousor = self.conn.cursor()                def close(self):          self.conn.close()                def get_history(self):          cursor = self.conn.execute("select id,url,title,visit_count  from urls")          rows = []          for _id,url,title,visit_count in cursor:              row = {}              row['id'] = _id              row['url'] = url              row['title'] = title              row['visit_count'] = visit_count              rows.append(row)          return rows  

      总结

      到此这篇关于python解析chrome浏览器历史浏览记录和收藏夹数据的文章就介绍到这了,更多相关python解析chrome浏览器内容请搜索<编程笔记>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<编程笔记>!

      需要了解更多python教程分享python解析Chrome浏览器历史浏览记录和收藏夹数据,都可以关注python教程分享栏目&#8212;编程笔记


      推荐阅读
      • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
      • 如何实现织梦DedeCms全站伪静态
        本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
      • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
      • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
      • 安装mysqlclient失败解决办法
        本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
      • C语言注释工具及快捷键,删除C语言注释工具的实现思路
        本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
      • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
      • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
      • XML介绍与使用的概述及标签规则
        本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
      • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
      • Oracle10g备份导入的方法及注意事项
        本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
      • Java学习笔记之面向对象编程(OOP)
        本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
      • Linux如何安装Mongodb的详细步骤和注意事项
        本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
      • Go Cobra命令行工具入门教程
        本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
      • 本文介绍了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。 ... [详细]
      author-avatar
      zj
      这个家伙很懒,什么也没留下!
      PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
      Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有