存储浏览器历史记录以供个人分析

存储浏览器历史记录以供个人分析

我对......感兴趣个人分析,并希望找到一种可靠的方法来汇总和存储我的网络浏览历史记录,格式为我可以理解和操作的格式。我主要使用 Google Chrome。

有一段时间我一直使用这样的 Python 脚本(这是我从其他地方获得的代码,但我忘记在哪里了):

pattern = "(((http)|(https))(://)(www.)|().*?)\.[a-z]*/"
SQL_STATEMENT = 'SELECT urls.url, visit_time FROM visits, urls WHERE visits.url=urls.id;'

dumpdir = '...\Chrome History Dump'
storage = open(dumpdir+'/hdump.txt', 'a')

def date_from_webkit(webkit_timestamp):
    epoch_start = datetime.datetime(1601,1,1)
    delta = datetime.timedelta(microseconds=int(webkit_timestamp))
    return epoch_start + delta

paths = ["...\AppData\Local\Google\Chrome\User Data\Default\Archived History", 
         "...\AppData\Local\Google\Chrome\User Data\Default\History"] 

for path in paths:
    c = sqlite3.connect(path) 
    for row in c.execute(SQL_STATEMENT):
        date_time = date_from_webkit(row[1])
        url = re.search(pattern, row[0])
        try: urlc = url.group(0)
        except: urlc = "ERROR"
        storage.write(str(date_time)[0:19] + "\t" + row[0] + "\n")
    c.close()
    os.remove(path)

不幸的是,Chrome 的最新更新破坏了这种方法——我还没有研究原因,但我决心找到一种更好的方法来做到这一点。有人有什么建议吗?以下是我考虑的一些标准:

  • 解决方案应该提取浏览器历史记录并(最好)删除 Google 的副本。
  • 如果可以自动运行它就好了,可以在每次 Chrome 启动时运行(就像我对上面的小脚本所做的那样),也可以按照定期的时间表运行。
  • 该解决方案应该尽可能地适应 Chrome 存储历史记录方式的变化——无论是通过设计,还是(甚至更好)因为它是一个持续维护的软件。
  • 只需保存URL和访问时间,历史记录中的信息可以丢弃。

非常感谢。

相关内容