como o firefox guarda o historico (paginas por onde passamos) numa base de dados (sqlite) podemos nós proprios fazer uns querizitos para saber aquelas coisas interessantes do tipo qual o site que mais visitei, o dia em que vi mais sites, etc.
exemplo:
SELECT session,COUNT(* ),MAX(visit_date),MIN(visit_date)
FROM moz_historyvisits
GROUP BY session
ORDER BY COUNT(* ) DESC
eu executei isto no sqlite manager que é um addon do firefox e depois apontei para %APPDATA%\Mozilla\Firefox\Profiles\ tal e coisa \places.sqlite
como o campo visit_date devolve uma coisa estranha que não é uma data saltei para o vb.net e fiz um programeta para ir mastigar essa informação para ver o que consigo fazer com ela.
tive primeiro que instalar o System.Data.SQLite. Depois tirando um ou outro stress com um erro que dá quando o firefox está aberto (file lock) não tive nenhum problema
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
‘%APPDATA%\Mozilla\Firefox\Profiles\
Dim cnn As SQLiteConnection
Try
cnn = New SQLiteConnection(“data source=c:\Users\vitor.silva\AppData\Roaming\Mozilla\Firefox\Profiles\646vwtnu.default\places.sqlite”)
cnn.Open()
Dim myCommand As New SQLiteCommand(cnn)
myCommand.CommandText = “select session, count(*) [numero Sites], max(visit_date) [dataFim], min(visit_date) [dataInicio] FROM moz_historyvisits group by session order by count(*) desc”
Dim reader As SQLiteDataReader = myCommand.ExecuteReader()
While reader.Read()
Console.WriteLine(String.Format(“{0}; {1}; {3}; {2}”, reader.Item(0).ToString(), reader.Item(1).ToString(), Convert(CLng(reader.Item(2))).ToString(), Convert(CLng(reader.Item(3))).ToString()))
End While
Catch ex As Exception
Debug.Print(ex.ToString())
End Try
End Sub
Private Function Convert(ByVal numero As Long) As DateTime
Dim prTimeInMillis As Long
prTimeInMillis = CLng(CLng(numero) / 1000)
Dim prDateTime As New DateTime(1970, 1, 1)
Return prDateTime.AddMilliseconds(prTimeInMillis)
End Function
Deixe um comentário