我对......感兴趣个人分析,并希望找到一种可靠的方法来汇总和存储我的网络浏览历史记录,格式为我可以理解和操作的格式。我主要使用 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和访问时间,历史记录中的信息可以丢弃。
非常感谢。