如何在Python中检索和显示Internet历史信息?

时间:2012-02-29 21:27:57

标签: python internet-explorer browser-cache browser-history

我想使用Python显示系统的所有Internet历史信息。 index.dat文件包含用户的所有历史信息,但它已编码。我怎么解码呢?

[我听说过WinInet方法INTERNET_CACHE_ENTRY_INFO。它提供有关访问过的网站,点击次数等的信息。]

Python中是否有可用于实现此目的的库?如果没有,有没有其他选择?

2 个答案:

答案 0 :(得分:2)

仅从index.dat文件获取URL的代码(仅限IE的历史记录)

import sys,os
from string import *
from binascii import *
from chardet import *
import re
arr=[]
ar=[]
st=""
url=""
lines=[]

def removenonascii(s):

    l=""
    for i in s:
        if(ord(i)==46 or ord(i)==47 or ord(i)==72 or ord(i) in range(97,97+26) or ord(i) in range(65,65+26)):
        l=l+i
    lines=l.split('\n')


    for line in lines:
        if line.startswith("http"):
            print line.split("URL")[0]

infile =open("C:\Users\Cho\AppData\Local\Microsoft\Windows\History\History.IE5\MSHist012012030720120308\index.dat","r")
for line in infile:
    arr=line.split("Cho")

for s in arr:
    removenonascii(s)
    print s

答案 1 :(得分:1)

如果您想为Firefox历史记录执行此操作,则它是用户的firefox配置文件中的places.sqlite文件中的SQLITE数据库。它可以使用python的sqlite3库打开。现在,如果你只关心资源管理器(正如你提到index.dat所暗示的那样),那我就不知道了。