360浏览器采用的是Chrome开源内核。两个浏览器的数据库文件结构一样。

参考文献:www.doc88.com/p-6971366976640.html  杨雪 靳慧云  《Chrome 浏览器历史记录提取与分析》

 

1、历史记录的提取

sqlite是一款基于磁盘的轻量级关系型数据库管理系统,。浏览器中 Chrome、Firefox、Safari等常用浏览器均使用sqlite存储及管理用户的web访问行为。

Chrome浏览器历史记录数据存储在名为History的sqlite数据库文件中。

  • 数据库表urls存储用户访问的URL,
  • visits 存储用户每次web浏览的属性,
  • keyword_search_terms 存储用户检索过的关键字。

Chrome历史记录分析

URLS表结构

 Chrome历史记录分析

visits 表结构

Chrome历史记录分析

 keyword_search_terms  表结构

Chrome历史记录分析

 

时间数据的处理

由于Chrome浏览器在sqlite中存储的时间是以1601-01-01 00:00:00 为起始时间点的微妙计数,与Unix时间戳存在时间间隔。因此研究人员输入时间后,需要先把该时间转换为Unix时间戳,再通过时间间隔补偿得到与Chrome浏览器历史记录相匹配的时间戳格式,从而筛选出对应的记录。

此处进行时间转换的具体代码为:

datetime(datetime(visite_time/1000000)+(strftime('%s','1601-01-01')),'unixe-poch','localtime')

举例:

Chrome历史记录分析

 Chrome历史记录分析

 


DOS的时间基准是1980年1月1日,
Unix的时间基准是1970年1月1日上午12 点,
Linux的时间基准是1970年1月1日凌晨0点。
Windows的时间基准是1601年1月1日。

 

时间转换:

1秒(s) = 1000毫秒(ms)

1毫秒(ms) = 1000微秒(us)

1微秒(us) = 1000纳秒(ns)

1 纳秒(ns) = 1000皮秒(ps) 

#!/usr/bin/env python3
#-*- coding:utf-8 -*-
'''
Administrator 
2018/10/17 
'''
import time
'''
-- 13181125268490285 微秒
-- select datetime('now')
-- 2018-10-17 03:07:55
-- select datetime('now','localtime')
-- 2018-10-17 11:07:23

-- 13181125268490285 微秒   Chrome时间戳
-- 13181125268.490285 秒    Chrome时间戳
-- 11644473600 间隔

-- 13181125268490-11644473600  拿到的是Unix时间戳

--  先转换为时间元组'''

time_c=13181125268490285/1000000-11644473600
print(time_c)
print(time.strftime("%Y-%m-%d %X",time.gmtime(time_c)))
时间转换验证

相关文章:

  • 2021-11-28
  • 2021-06-29
  • 2021-11-21
  • 2021-11-26
  • 2021-04-17
  • 2021-04-20
猜你喜欢
  • 2022-12-23
  • 2021-03-28
  • 2021-12-26
  • 2022-12-23
  • 2021-09-13
  • 2021-07-31
  • 2021-10-24
相关资源
相似解决方案