我想顯示使用Python的系統的所有Internet歷史信息。 index.dat文件包含用戶的所有歷史信息,但它是編碼的。我怎樣才能解碼它?如何在Python中檢索和顯示Internet歷史信息?
[我聽說過WinInet方法INTERNET_CACHE_ENTRY_INFO
。它提供了關於訪問過的網站,命中次數等的信息。]
Python中是否有任何庫可用於實現此功能?如果沒有,有沒有其他的選擇?
我想顯示使用Python的系統的所有Internet歷史信息。 index.dat文件包含用戶的所有歷史信息,但它是編碼的。我怎樣才能解碼它?如何在Python中檢索和顯示Internet歷史信息?
[我聽說過WinInet方法INTERNET_CACHE_ENTRY_INFO
。它提供了關於訪問過的網站,命中次數等的信息。]
Python中是否有任何庫可用於實現此功能?如果沒有,有沒有其他的選擇?
代碼來獲取URL只能從Index.dat文件(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
你可能想知道chardet不包含在python中的事實。依賴關係沒有任何問題,但指出這一點可能會有所幫助。 – 2013-12-21 23:12:34
所有這些進口產品是做什麼的? 'string'已經過時了,我不會看到任何不是內置函數或方法的單一調用。 'chardet'和'binascii'看起來非常不相關。 – alexis 2015-06-07 13:15:58
如果您想爲Firefox歷史記錄執行此操作,則它是位於用戶的firefox配置文件文件places.sqlite中的SQLITE數據庫。它可以用python的sqlite3庫打開。現在如果你只關心資源管理器(就像你提到的index.dat所暗示的那樣),那麼我不知道這一點。
我想爲所有瀏覽器瀏覽瀏覽歷史記錄...我通過閱讀索引文件爲IE做了這個。但我只能從index.dat文件中獲取URL。 – Cholavendhan 2012-03-07 17:53:54
謝謝..是否每個瀏覽器都有所不同?它是否擁有系統的所有瀏覽信息的普通地點或註冊表。 – Cholavendhan 2012-03-07 17:56:32
@Chola,沒有互聯網歷史記錄的中央註冊表。每個瀏覽器都可以用自己的方式跟蹤其歷史記錄,並確實如此。如果您想檢查Chrome,Opera或Safari的歷史記錄,則必須單獨進行研究。 – alexis 2012-03-07 22:21:16
哪個瀏覽器你在說什麼? – Kimvais 2012-02-29 21:29:40
請編輯您的問題,指定您只關心Internet Explorer,或者您想知道如何使用任何瀏覽器。並非每個人都使用Internet Explorer。事實上,大多數互聯網用戶不使用Internet Explorer。 – ninjagecko 2012-02-29 21:31:28
我想爲所有瀏覽器做這個瀏覽歷史...我通過閱讀索引文件爲IE做了這個。但我只能從index.dat文件獲得URL – Cholavendhan 2012-03-07 17:54:27